{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "c979f719-a7bd-4392-86f9-f699220b2c93",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>STATEFP20</th>\n",
       "      <th>COUNTYFP20</th>\n",
       "      <th>TRACTCE20</th>\n",
       "      <th>GEOID20</th>\n",
       "      <th>NAME20</th>\n",
       "      <th>NAMELSAD20</th>\n",
       "      <th>MTFCC20</th>\n",
       "      <th>FUNCSTAT20</th>\n",
       "      <th>ALAND20</th>\n",
       "      <th>AWATER20</th>\n",
       "      <th>...</th>\n",
       "      <th>P0050002</th>\n",
       "      <th>P0050003</th>\n",
       "      <th>P0050004</th>\n",
       "      <th>P0050005</th>\n",
       "      <th>P0050006</th>\n",
       "      <th>P0050007</th>\n",
       "      <th>P0050008</th>\n",
       "      <th>P0050009</th>\n",
       "      <th>P0050010</th>\n",
       "      <th>geometry</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>13</td>\n",
       "      <td>099</td>\n",
       "      <td>090500</td>\n",
       "      <td>13099090500</td>\n",
       "      <td>905</td>\n",
       "      <td>Census Tract</td>\n",
       "      <td>G5020</td>\n",
       "      <td>S</td>\n",
       "      <td>340970567</td>\n",
       "      <td>3670838</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((-85.11460 31.27733, -85.11449 31.277...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>13</td>\n",
       "      <td>099</td>\n",
       "      <td>090400</td>\n",
       "      <td>13099090400</td>\n",
       "      <td>904</td>\n",
       "      <td>Census Tract</td>\n",
       "      <td>G5020</td>\n",
       "      <td>S</td>\n",
       "      <td>202255980</td>\n",
       "      <td>924285</td>\n",
       "      <td>...</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((-84.99042 31.27632, -84.99037 31.277...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>13</td>\n",
       "      <td>099</td>\n",
       "      <td>090200</td>\n",
       "      <td>13099090200</td>\n",
       "      <td>902</td>\n",
       "      <td>Census Tract</td>\n",
       "      <td>G5020</td>\n",
       "      <td>S</td>\n",
       "      <td>297097657</td>\n",
       "      <td>2960992</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((-85.08718 31.37407, -85.08691 31.374...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>13</td>\n",
       "      <td>067</td>\n",
       "      <td>031209</td>\n",
       "      <td>13067031209</td>\n",
       "      <td>312.09</td>\n",
       "      <td>Census Tract</td>\n",
       "      <td>G5020</td>\n",
       "      <td>S</td>\n",
       "      <td>3407093</td>\n",
       "      <td>4863</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((-84.51004 33.85250, -84.50997 33.852...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>13</td>\n",
       "      <td>067</td>\n",
       "      <td>031207</td>\n",
       "      <td>13067031207</td>\n",
       "      <td>312.07</td>\n",
       "      <td>Census Tract</td>\n",
       "      <td>G5020</td>\n",
       "      <td>S</td>\n",
       "      <td>2775451</td>\n",
       "      <td>49508</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((-84.47968 33.86431, -84.47805 33.868...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 345 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "  STATEFP20 COUNTYFP20 TRACTCE20      GEOID20  NAME20    NAMELSAD20 MTFCC20  \\\n",
       "0        13        099    090500  13099090500     905  Census Tract   G5020   \n",
       "1        13        099    090400  13099090400     904  Census Tract   G5020   \n",
       "2        13        099    090200  13099090200     902  Census Tract   G5020   \n",
       "3        13        067    031209  13067031209  312.09  Census Tract   G5020   \n",
       "4        13        067    031207  13067031207  312.07  Census Tract   G5020   \n",
       "\n",
       "  FUNCSTAT20    ALAND20  AWATER20  ... P0050002 P0050003 P0050004 P0050005  \\\n",
       "0          S  340970567   3670838  ...        0        0        0        0   \n",
       "1          S  202255980    924285  ...       42       42        0        0   \n",
       "2          S  297097657   2960992  ...        0        0        0        0   \n",
       "3          S    3407093      4863  ...        0        0        0        0   \n",
       "4          S    2775451     49508  ...        0        0        0        0   \n",
       "\n",
       "  P0050006 P0050007 P0050008 P0050009 P0050010  \\\n",
       "0        0        0        0        0        0   \n",
       "1        0        0        0        0        0   \n",
       "2        0        0        0        0        0   \n",
       "3        0        0        0        0        0   \n",
       "4        0        0        0        0        0   \n",
       "\n",
       "                                            geometry  \n",
       "0  POLYGON ((-85.11460 31.27733, -85.11449 31.277...  \n",
       "1  POLYGON ((-84.99042 31.27632, -84.99037 31.277...  \n",
       "2  POLYGON ((-85.08718 31.37407, -85.08691 31.374...  \n",
       "3  POLYGON ((-84.51004 33.85250, -84.50997 33.852...  \n",
       "4  POLYGON ((-84.47968 33.86431, -84.47805 33.868...  \n",
       "\n",
       "[5 rows x 345 columns]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# this is for working with census tracts and VTD precincts  #8/7/22 - add on nearest-neighbor (circle) to compare\n",
    "from shapely.geometry import Point, LineString, Polygon\n",
    "import shapely\n",
    "import geopandas as gpd\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from numpy import random\n",
    "from scipy.stats import norm\n",
    "import math\n",
    "#tractGeomFile = gpd.read_file(\"state_map_files/fl_pl2020_t.shp\")  #Boo!  Only has geometries.  do not use\n",
    "tractPopFile = gpd.read_file(\"state_map_files/ga_pl2020_t.dbf\") #for Texas, need only this file\n",
    "tractPopFile.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "a7a90b04-4b48-4ab8-9195-8d953907c3fb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "there are 2796 popn tracts for GA\n"
     ]
    }
   ],
   "source": [
    "# EXTRACT TRACT GEOMETRIES AND POPULATIONS INTO LISTS, COMPUTE TRACT AREAS\n",
    "# If the population and geometry data are in one file, this should work.\n",
    "STATE = \"GA\"\n",
    "tractGeom = tractPopFile['geometry']  #for some states, replace with tractGeomFile\n",
    "tractPop = tractPopFile['P0010001']\n",
    "tractVAP = tractPopFile['P0030001']   #NEW 3/2/22 - USE VAP\n",
    "# tractPop2 = tractPopFile['P0020001']   #not needed; confirmed that this matches P00100001 exactly\n",
    "tractHisp = tractPopFile['P0040002']   #NEW 3/2/22 - USE VAP\n",
    "tractBlack = tractPopFile['P0030004']  #NEW 3/2/22 - USE VAP\n",
    "nTracts = len(tractPop)\n",
    "print(\"there are {0} popn tracts for {1}\".format(nTracts, STATE) )\n",
    "tractArea = [0.]*nTracts\n",
    "for t in range (0,nTracts) :\n",
    "    tractArea[t] = tractGeom[t].area\n",
    "isSkippedTract = [0] *nTracts  #this will house a temporary list of tracts for manipulation\n",
    "tractPop = tractPop.to_numpy()  #to avoid panda overwrite grousing\n",
    "tractBlack= tractBlack.to_numpy()\n",
    "tractHisp = tractHisp.to_numpy()\n",
    "tractVAP = tractVAP.to_numpy()\n",
    "stateVAP = np.sum(tractVAP)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "c90b3908-e2e3-46b8-98e5-ae285eca1ee3",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "this is Hispanic population by total population GA voter-age population\n",
      "state pop= 10711908 VAP pct Hispanic is  0.09037630619125347\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEGCAYAAABPdROvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAAA+RUlEQVR4nO3deXxU5fX48c+ZSViULayyg4ooYFWICGoVRRRX3MWl1Vq/ttbWrf1V7cLX2vZb29rWWpdq3asiKlaQirviypLgAogIgkCQnQBhyzJzfn88d4abyUwyycxkMsl5v15pZp65c+e5kd4zz3YeUVWMMcaYhgpkuwLGGGNymwUSY4wxKbFAYowxJiUWSIwxxqTEAokxxpiU5GW7Ao2ta9euOmDAgGxXwxhjckpxcfEmVe0W77UWF0gGDBhAUVFRtqthjDE5RURWJnrNuraMMcakxAKJMcaYlFggMcYYkxILJMYYY1JigcQYY0xKMhZIROQREdkgIgt9ZZ1F5HURWer9LvC9dquILBORJSJyiq98hIgs8F67W0TEK28tIlO88jkiMiBT12KMMSaxTLZIHgPGx5TdArypqoOAN73niMgQYCIw1HvPfSIS9N5zP3A1MMj7iZzz+0Cpqh4I/A34Y8auxBhjTEIZCySq+i6wJaZ4AvC49/hx4Gxf+TOqWq6qK4BlwEgR6Ql0UNWP1OW7fyLmPZFzPQ+MjbRWjDHG+FTshNKEy0BS1thjJD1UdS2A97u7V94bWO07rsQr6+09ji2v9h5VrQK2AV3ifaiIXC0iRSJStHHjxjRdijHG5IDls+D+o2HKZRAOZ+Qjmspge7yWhNZSXtt7ahaqPqiqhapa2K1b3BX+xhjTvOzeCtN/Ak+cBRKA8X+AQGZu+Y2dImW9iPRU1bVet9UGr7wE6Os7rg/wjVfeJ065/z0lIpIHdKRmV5oxxrQ84RA8fDJsXgrHXA9jboX8thn7uMZukUwHLvceXw5M85VP9GZiDcQNqs/1ur/KRGSUN/7x3Zj3RM51PvCW2r7BxpiWbNcWUIVAEMb+Gq56E8bdntEgApmd/jsZ+AgYLCIlIvJ94A5gnIgsBcZ5z1HVRcCzwOfAK8C1qhryTnUN8BBuAP4rYKZX/jDQRUSWATfhzQAzxpgWRxU+nQL/GA7zvTlIh5wJvYc3ysdLS/sSX1hYqJb91xjTbGwrgRk3wtLXoM+RcNY90P3gtH+MiBSramG811pcGnljjGk2FjwPL90AGoLxd8DIq123ViOzQGKMMbmqTSfoMwLO/DsUDMhaNSyQGGNMrghVwex7IVQBx/0/GHQSHDgWsrwW2wKJMcbkgnULYNqPYe0nMPQcN8AukvUgAhZIjDGmaasqh3f/DO//DdoWwAWPw5AJTSKARFggMcaYpmzzV/D+XXDoBXDK/8E+nbNdoxoskBhjTFNTvgOWvAzfuhB6DIEfz4POA7Ndq4QskBhjTFPy1Vvw0vWwdTX0PAy6DW7SQQSaTtJGY4xp2XaXwrRr4d/nQLAVfO9lF0RygLVIjDEm28IhePgU2LwMjr0Jjr8Z8ttku1ZJs0BijDHZsnOzm4kVCMLYSdCxD/Q6PNu1qjfr2jLGmMamCp9MjkmyeEZOBhGwFokxxjSuratcfqyv3oS+R0H/Y7Jdo5RZIDHGmMby6RT4702uRXLqn+HIqzK2a2FjskBijDGNZd8urhVy5l3QqV+2a5M2FkiMMSZTQpXw4T8gXAXH/xwOPAkOyH6SxXSzQGKMMZmw9lOXZHHdZzDsvCaVZDHdLJAYY0w6Ve6BWX+ED/4O+3SBC/8NQ87Kdq0yygKJMcak05blrjvrsIvhlN+5dSLNnAUSY4xJVfkO+GIGHDbRJVn8SVFWdyxsbBZIjDEmFcvecOtCtpVAryNcfqwWFETAVrYbY0zD7NoC//khPHke5LeFK1/JmSSL6WYtEmOMqa9wCB4+2Y2HfPtnbv/0HEqymG4WSIwxJlk7N0Hbzi7J4rjfQMe+0PNb2a5V1lnXljHG1EUVPn7SS7L4mCs7+HQLIh5rkRhjTG1KV7odC5e/Df2OhgHHZbtGTY4FEmOMSeTTZ2DGTW41+ul/gRFXNoski+lmgcQYYxLZtxv0PxrO+Bt06pvt2jRZFkiMMSYiVAkf3AXhMIy5GQ4c635MrSyQGGMMwDefuCSL6xfAoRfsTbJo6mSBxBjTslXuhnfucPmx9u0KFz3ltr01ScvKqJGI3Cgii0RkoYhMFpE2ItJZRF4XkaXe7wLf8beKyDIRWSIip/jKR4jIAu+1u0Xs64Mxpp5Kv4aP7oXDL4Fr51gQaYBGDyQi0hu4DihU1WFAEJgI3AK8qaqDgDe954jIEO/1ocB44D4RCXqnux+4Ghjk/YxvxEsxxuSqPdvh46fc4+6HwHXzYcI9LSJTbyZkax5bHtBWRPKAfYBvgAnA497rjwNne48nAM+oarmqrgCWASNFpCfQQVU/UlUFnvC9xxhj4vvyNbhvNEz/MWxc4sqa0ba32dDogURV1wB3AquAtcA2VX0N6KGqa71j1gLdvbf0Blb7TlHilfX2HseW1yAiV4tIkYgUbdy4MZ2XY4zJFTs3wwtXw9MXQOt2cOVrLTbJYrplo2urANfKGAj0AvYVkctqe0ucMq2lvGah6oOqWqiqhd26datvlY0xuS4cgkdOhoVT4fib4QfvQt8js12rZiMbs7ZOAlao6kYAEXkBOBpYLyI9VXWt1221wTu+BPCvBOqD6wor8R7HlhtjjLNjA+zT1SVZPPl3LsnifsOyXatmJxtjJKuAUSKyjzfLaiywGJgOXO4dczkwzXs8HZgoIq1FZCBuUH2u1/1VJiKjvPN81/ceY0xLpgrzn4B/FELxo65s8KkWRDKk0VskqjpHRJ4H5gNVwMfAg0A74FkR+T4u2FzgHb9IRJ4FPveOv1ZVQ97prgEeA9oCM70fY0xLtmUFvHQdrHgX+h8L+4/Jdo2aPXETnlqOwsJCLSoqynY1jDGZ8MnT8N+fggTh5Nth+BWWZDFNRKRYVQvjvWYr240xzUf7/WDgcXD6X6Fj3EmcJgMskBhjcldVBbz/N9AwnHArHHCi+zGNygKJMSY3rSl2SRY3fA7fmmhJFrPIAokxJrdU7IK3fw+z74N2+8HFz7gZWSZrLJAYY3LL1pUw90EYfjmM+w206ZjtGrV4FkiMMU3fnm2w+CU44jIvyeLH0LFP3e8zjcICiTGmafvyVXjpBtixDvqMhG4HWRBpYmyCtTGmadq5CaZeBU9fCG07wfffcEHENDnWIjHGND3hEDxyCpSuhDG/gGNvhLxW2a6VSSCpQCIiw4Fjcdl1P1DV+RmtlTGmZSpbD/t285Is/t7tE9JjSLZrZepQZ9eWiEzCbTTVBegKPCoiv8p0xYwxLUg4DEWPwD9GQPEjrmzweAsiOSKZFsnFwBGqugdARO7AJVz8XSYrZoxpITZ/BS9dD1+/59KbHDA22zUy9ZRMIPkaaAPs8Z63Br7KVIWMMS3Ix0+6JIvBVnDm3TD8u7Y6PQclE0jKgUUi8jpujGQc8L6I3A2gqtdlsH7GmOasYx/XAjn9TujQK9u1MQ2UTCD5j/cT8U5mqmKMafaqyuG9v7okiyf+0u0VYvuF5Lw6A4mqPi4irYDIBO4lqlqZ2WoZY5qdkiKXZHHjYjjsEkuy2IzUGUhEZAxu1tbXgAB9ReRyVX03ozUzxjQPFTvhLS/JYodecMmzcNAp2a6VSaNkurb+ApysqksAROQgYDIwIpMVM8Y0E1tXw7yHoPBKOOk2aNMh2zUyaZZMIMmPBBEAVf1SRPIzWCdjTK7bvRU+nwYjLofuB3tJFm3HwuYqmUBSJCIPA//2nl8KFGeuSsaYnPbFf2HGTbBzI/Qb7SVZtCDSnCUTSK4BrgWuw42RvAvcl8lKGWNy0I6NMPPnsOgF6DEMLp5sSRZbiGRmbZWLyD3Am0AYN2urIuM1M8bkjnAIHjkZtpXAib+CY26AoPWAtxTJzNo6HfgnbjW7AANF5AeqOjPTlTPGNHHb10K7Hi7J4vg/uiSL3Q/Odq1MI0tmP5K/ACeo6hhVPR44AfhbZqtljGnSwmE3E+ueI6HoYVd20MkWRFqoZMZINqjqMt/z5cCGDNXHGNPUbVoGL10HKz9wq9IHjct2jUyWJRNIFonIy8CzuFxbFwDzRORcAFV9IYP1M8Y0JfOfgJf/H+S1hgn3wuGX2up0k1QgaQOsB473nm8EOgNn4gKLBRJjWopO/eDAk+D0v0D7/bJdG9NEJDNr63uNURFjTBNUVQ6z/uQej/21JVk0cSUz2G6MaYlWzYF/Hgvv3Qk71rkki8bEkdSe7caYFqR8B7z1W5jzgNsv5LKprjvLmASy0iIRkU4i8ryIfCEii0VktIh0FpHXRWSp97vAd/ytIrJMRJaIyCm+8hEissB77W4RG/UzJmXbSqDoURj5P/CjjyyImDrVGUhE5P9EpJPveYGIpLpf+9+BV1T1YOAwYDFwC/Cmqg7CraK/xfu8IcBEYCgwHrhPRILeee4HrgYGeT/jU6yXMS3T7lIXPMCtBbn+Uzjtz9C6fXbrZXJCMi2SU1V1a+SJqpYCpzX0A0WkA3Ac8LB3vgrv/BNw+57g/T7bezwBeEZVy1V1BbAMGCkiPYEOqvqRqirwhO89xphkLX4J7j3K7Z2+aakr69Azu3UyOSWZQBIUkdaRJyLSFmhdy/F12R83hfhREflYRB4SkX2BHqq6FsD73d07vjew2vf+Eq+st/c4trwGEblaRIpEpGjjxo0pVN2YZqRsPTz7XZhyGbTrDv/zFnQdlO1amRyUzGD7k8CbIvIobt3IlextOTT0M4cDP1HVOSLyd7xurATijXtoLeU1C1UfBB4EKCwstKknxoRD8Oh42LYGxk6Co6+zJIumwZJZR/InEVkAjMXdvH+rqq+m8JklQImqzvGeP48LJOtFpKeqrvW6rTb4ju/re38f4BuvvE+ccmNMItvWQPueLsniqX+CTv0t1btJWVKztlR1pqr+TFV/mmIQQVXXAatFZLBXNBb4HJgOXO6VXQ5M8x5PByaKSGsRGYgbVJ/rdX+Vicgob7bWd33vMcb4hcNuOq8/yeKgcRZETFokbJGIyPuqeqyIlFG9y0gAVdVUNl7+CfCUiLTCJYH8Hi6oPSsi3wdW4XJ6oaqLRORZXLCpAq5V1ZB3nmuAx4C2wEzvxxjjt/FLmP4TWD0bDhgLB51S93uMqQfRFrZatbCwUIuKirJdDWMaR/HjLsliflsYfwccNtGSLJoGEZFiVS2M91pSK9u9dRs9/Mer6qr0VM8YkzGdB8Lg8XDanW5mljEZkMwOiT8B/heXATjsFSvwrQzWyxjTEJV7YNYf3eOT/hcGHud+jMmgZFok1wODVXVzpitjjEnBqtkw7ceweSkM/65LsmjdWKYRJBNIVgPbMl0RY0wDlZfBm7fD3H9Bp75w2Qtw4Nhs18q0IMkEkuXAOyLyX6A8Uqiqf81YrYwxydv+jdu58KgfwIm/htbtsl0j08IkE0hWeT+tvB9jTLbt2gKLXoAjr4Jug12SRdux0GRJMivbf9MYFTHGJEEVPp8GL//MZewdeLzLj2VBxGRRMrO2ugE/x6VxbxMpV9UTM1gvY0yssnUuQ+8XM6Dn4fCd/1iSRdMkJNO19RQwBTgD+CEufYml0DWmMYVD8Mh4KFsL426HUddC0DY4NU1DMv8Su6jqwyJyvarOAmaJyKxMV8wYg9utsH0vl2Tx9Duh0wDoemC2a2VMNckkbaz0fq8VkdNF5AiqZ901xqRbOASz/1k9yeKBJ1kQMU1SMi2S34lIR+CnwD+ADsCNGa2VMS3ZxiVuYWHJXDhwHBxkO0ibpi2ZWVszvIfbgBMyWx1jWriiR2Hmz6FVOzjnQfjWhbY63TR5dXZticj+IvKSiGwSkQ0iMk1E9m+MyhnT4nQ5AA4+A66dC4ddZEHE5IRkuraeBu4FzvGeTwQmA0dlqlLGtBiVu+GdPwAC435jSRZNTkpmsF1U9d+qWuX9PEmCvdGNMfXw9Qdw/zHwwd+hfLtbbGhMDkqmRfK2iNwCPIMLIBcB/xWRzgCquiWD9TOm+dmzHd64zc3GKhgA350O+x+f7VoZ02DJBJKLvN8/iCm/EhdYbLzEmPooWwefPA2jfwwn/AJa7ZvtGhmTkmRmbQ1sjIoY06zt3OySLI78H+h2ENzwme1YaJqNZGZtXSAi7b3HvxKRF7xFicaYuqjCwqlw70h45VbYtMyVWxAxzUgyg+2/VtUyETkWOAV4HPhnZqtlTDOwfS08cwk8f6XbcOoHs2xlummWkhkjCXm/TwfuV9VpInJb5qpkTDMQDsGjp7okiyf/Do66xpIsmmYrmX/Za0TkAeAk4I8i0prkWjLGtDxbV0GH3l6Sxb+4WVldDsh2rYzJqGQCwoXAq8B4Vd0KdAb+XyYrZUzOCYfgw3vgnpEwL5JkcawFEdMiJGyRiEgHVd2O28zqHa+sM27f9qJGqZ0xuWD95zD9x7Cm2CVYPPj0bNfImEZVW9fW07jNrIpx60X8SX9s/Ygx4FofM2+GNh3gvIdh2HmWH8u0OAkDiaqe4f22dSTGxFJ1AaPbYBh6Noy/A/btmu1aGZMVtXVtDa/tjao6P/3VMaaJq9gFb//eDaaPux0GHOt+jGnBauva+ovv8QhcF1eEAidmpEbGNFUr3oPpP4HSFXDkVXtbJca0cLV1bUU3sRKRj/3PjWlR9myD1ydB8WNQMBAuf8lSvRvjk+wKKctvbVqusvXw2bNw9E9gzC+g1T7ZrpExTUrWFhaKSFBEPhaRGd7zziLyuogs9X4X+I69VUSWicgSETnFVz5CRBZ4r90tYv0MJk12boI5D7jH3Q6CGxa4FeoWRIypobbB9n+wtyXSR0Tu9r+uqtel+NnXA4uBDt7zW4A3VfUOb/+TW4CbRWQIblfGoUAv4A0ROUhVQ8D9wNXAbOBlYDwwM8V6mZZMFRY87/ZNLy+DA8a6/Fg2I8uYhGrr2vIvOixOeFQDiEgfXO6u3wM3ecUTgDHe48dxiyBv9sqfUdVyYIWILANGisjXQAdV/cg75xPA2VggMQ21rQRm3ARLX4XehTDhHkuyaEwSahtsfzyDn3sX8HOgva+sh6qu9T57rYhE8mz3xrU4Ikq8skrvcWx5DSJyNa7lQr9+/dJQfdPshKrgsdNhxwY45Q9w1A/cFF9jTJ0aPR2piJwBbFDVYhEZk8xb4pTFrrT3l9csVH0QeBCgsLDQJg6YvUpXQsc+LjPvGXe5JIudbQ2uMfWRjcH2Y4CzvK6pZ4ATReRJYL2I9ATwfm/wji8B+vre3wf4xivvE6fcmLqFquCDu92GU/MecmUHnGBBxJgGSGaHxGOSKUuWqt6qqn1UdQBuEP0tVb0MmA5c7h12OTDNezwdmCgirUVkIDAImOt1g5WJyChvttZ3fe8xJrF1C+Hhk+D1X7vB9EPOynaNjMlpyXRt/QOITZcSryxVdwDPisj3gVXABQCqukhEngU+B6qAa70ZWwDXAI8BbXGD7DbQbmo391/wyi3QphOc/ygMPcdWpxuTotqm/44Gjga6ichNvpc6AGkZhVTVd/BS1KvqZmBsguN+j5vhFVteBAxLR11MMxdJZ9J9iMvQe8ofYN8u2a6VMc1CbS2SVkA77xj/7KrtwPmZrJQxaVOxE976nZuBdfLvYMAx7scYkza1Tf+dBcwSkcdUdWUj1smY9Fj+Dky/DrauhJE/sCSLxmRIMrO2HhKRTpEnIlIgIq9mrkrGpGj3Vpj2Y3hiAgTy4Hsz4bQ/WRAxJkOSGWzv6u3VDoCqlvoWCxrT9OzcCAtfgGNugDG3QH7bbNfImGYtmUASFpF+qroKQET6Y9mATVOzYwMsnAqjroGug1ySRRtMN6ZRJBNIfgm8LyKzvOfH4aUbMSbrVF2K91dudgPrg06GLgdYEDGmEdUZSFT1FW/b3VG4tCQ3quqmjNfMmLpsXQ0zboRlr0OfkS7JYpcDsl0rY1qcZHNthXApS9oAQ0QEVX03c9Uypg6RJIs7N8Gpf3Jb31qSRWOyos5AIiJX4fYO6QN8gmuZfITt2W6yYcsK6NTPJVk862639W1B/2zXypgWLZnpv9cDRwIrvX3bjwA2ZrRWxsQKVcH7f4N7j3JpTgD2H9Okg0jxylLufXsZxStLs10VYzIqma6tPaq6R0QQkdaq+oWIDM54zYyJWPsZTP8xrP0UDj4Dhp6d7RrVqXhlKZc+NJuKqjCt8gI8ddUoRvQvqPuNxuSgZAJJibcg8UXgdREpxdK1m8Yy50F49VZo2xkufAKGTMh2jZIye/lmKqrChBUqq8LMXr7ZAolptpKZtXWO9/A2EXkb6Ai8ktFaGRNJZ9JjKBx6IZzye9inc7ZrlbRR+3ehVV6Ayqow+XkBRu1v05FN8yWqidcWikgA+ExVm02G3cLCQi0qKqr7QJMd5Tvgrd+61Can1Ej4nFOKV5Yye/lmRu3fxVojJueJSLGqFsZ7rdYWiaqGReRT/8p2YzJm2Zvw0g2wbbXbMz3HkyyO6F9gAcS0CMmMkfQEFonIXGBnpFBVbVs5kx67S+HVX8InT0GXQS7JYv/R2a6VMSZJyQSS32S8FqZl27kJPp8Gx94Ex98M+W2yXSNjTD0kE0hOU9Wb/QUi8kdgVoLjjalb2XpY+DyMvnZvksUcGkxvSmwsxmRbMoFkHHBzTNmpccqMqZsqfDoZXrkVKnfDQeNdfiwLIg1i61VMU5BwZbuIXCMiC4DBIvKZ72cF8FnjVdE0G6Ur4clz4cVroNvB8MP3o0kWbRV4w8Rbr2JMY6utRfI0MBP4A3CLr7xMVbdktFam+QlVweNnwK4tcNqdUPh9CLjvMbn4rbqpdCfZehXTFNS2Z/s2YBtwceNVxzQ7m7+CggEuyeKEe93jTv2qHZJrq8CbUuAb0b+Ap64a1SSCmmm5kknaaEz9hSrh3TvhvlF7kywOPK5GEIG936qDQq3fqptK91dT604a0b+Aa0840IKIyZpk9yMxJnnffOKSLK5bAEPOhmHn1np4Xd+qi1eW8sL8Ep4rWk1VWLPeCrDuJGOqs0Bi0mv2P+HVX8C+XeGiJ+GQM5N6W6JV4JFupPLKMJFkPtnu/mrO3UlNZezH5BYLJCY9IulMen4LDrsYTvkdtE39RhTpRooEEaH27q/G0hzTnzSlsR+TWyyQmNSUl8Ebv4G81i7JYv+j3U+a+LuRgsEA54/ow3nD+9gNLgNybdKDaToskJiGW/oGzLgBtpXAqB9lJMlic+5Gamps7Mc0VK1p5JsjSyOfBru2uHGQTydD18Ew4R7oOzLbtWrR0jW2YWMkJpEGp5E3Jq5dW2DxDDju53Dcz1y3VhOX7htkU7rhpnNsozmO/ZjMa/R1JCLSV0TeFpHFIrJIRK73yjuLyOsistT7XeB7z60iskxElojIKb7yESKywHvtbpEc3ryiqStbBx/c7bqvuh4INy6AE3+Z0SCSrnUjkRvtX15bwqUPzY6e7+k5q/jOw3N4ek79ttpJdL501ztZTW1di2l5stEiqQJ+qqrzRaQ9UCwirwNXAG+q6h0icgsuLcvNIjIEmAgMBXoBb4jIQaoaAu4HrgZmAy8D43FpXUy6qMLHT7r9QkLlcPDpLj9WGmZk1Sad37Jjb7QvzC/hn7O+4vXP1wPw3tJNAFxyVM3Fksmczz8onY2ZTza2YbKt0VskqrpWVed7j8uAxUBvYALwuHfY48DZ3uMJwDOqWq6qK4BlwEgR6Ql0UNWP1A30POF7j0mH0q/h32e7xYX7DYMffhBNsphJxStLueuNL9P2Ldu/cj4YDPBc0epoEImYuXBtg84Xe+PORusgMiHhppMH25RdkxVZHSMRkQHAEcAcoIeqrgUXbESku3dYb1yLI6LEK6v0HseWx/ucq3EtF/r1S+5bZ4sXqoLHz4RdpXD6X2HE96JJFtMl3jhD7ALEQB1pU5Lhn/m1Zutunplbsyvr1GE9E9aptvPFHpet1oGNbZhsylogEZF2wFTgBlXdXsvwRrwXtJbymoWqDwIPgpu1Vf/atiDVkizeB50HQsc+KZ2ytoAR2wUUuwDx0N4dmXTmUADufXtZgwe3IzfaSLqVyqowIjC0V0cuOrIflxzVr9ZuqdhrSHTjTvd05aY0qG9MIlkJJCKSjwsiT6nqC17xehHp6bVGegIbvPISoK/v7X2Ab7zyPnHKTUOEKuH9u+DdP8G422HUNTDw2ymftq6AETvOMGr/LuQFA1RUhQFYvHY7S9aVcfuMRUnd4OtS240+UbdUffN8pat1YCvNTa7IxqwtAR4GFqvqX30vTQcu9x5fDkzzlU8UkdYiMhAYBMz1usHKRGSUd87v+t5j6mPNfHhwDLz9O5cba9j5aTt1optzonGGEf0LOH9En2hzMxRWZi5cG/ccdc2eSiRRttzYOhXs04pLH5rNU3NWURHSRp8VZbOxTK7IRovkGOA7wAIR+cQr+wVwB/CsiHwfWAVcAKCqi0TkWeBz3Iyva70ZWwDXAI8BbXGztWzGVn3Nvt8tLmzXAyZOhoNPS+vpE40Z1NYyOG94n2j3U35egFOH9WTe11tqnOOF+SXRsZRUUnr4WzX+Os1evpnyynC1Y4MBabRxD5uNZXJFowcSVX2f+OMbAGMTvOf3wO/jlBcBw9JXuxYkks6k1xFwxHdcd1bbTmn/mNoCRn3HGWYuXMupw3pGxzqeK1odHUsJBht2o43XfXTtCQcCsGRdWY1BtwsK+zbKgsbI65POGErprgpbsW6aNFvZ3tLs2Q5v/C/ktYHxf4B+o9xPBjVkzMD/nuKVpdExkjkrtrDwm20AVIXdbV6A80ckTuRY2020tjUhpbsqEPbO4MgLCOcOT23iQaQ+tY19pHtsxMZaTKbZDoktyZevuR0Lix+DQNC1SpqAulaC+2/2FVVhJs9ZxfPFJQQCggCBgDCsV8eE546Mo1z0wEc1VrGP2r8Led55/N1WxStLWbN1N/l5AQLigsjtE4al5QZc19hHusdGbKzFZJq1SFqCnZvhlVtgwbPQ7RC48AnoEzf3WkKZ6hpJ5ttyZKwgMh4SGRPBexwKK7e9tIjB+7WvtcURVmXStIU1jxOv3eFNQffXKS8gXDyyH+fWI3V9XX+rusY+0j02YmMtJtMskLQEe7bCl6/A8bfAt38Kea3q9fZMdo0kswdGZMwkOg03pIRjzlNRFeauN77khpMOqrFAMCBC2Gt9hcNa7TNmL99MVcgFqFBo77f1SJ1CYaVXp7b1CiJ1/a3qWmuS7rUolorfZJp1bTVX279x60JUXVqTGxbACbfWO4hAzZv91PklaUtKGG/Krf/ckW4vgN+fcyiTrx7NMYO6xp2t8f7STdWmAUdaBlcdO5C8gBAAWuVX/0YebxpybSlQ6pKubqREU5QbKt3nM8bPWiTNjSrMfxxe+7VbZHjImV6SxU71Oo2/e6baLoUB4fniEqpC6Wmd+L8tF+zTqtrCw0lnDOW26QupDCn5QWHy1aMB6Nt5H/K9+vhHeRTXkojcvP0tg9snDKN0VwUF+7SKvh4Z0I/3bb2h3+CT6UaywW/T3FggaU62LIfp18HX78GAb8OZf29QksV4N7rIjfWbrbuZPHdVwq6ohoylRG7o9769rNq3+Snz3EJAgIqQ8s9ZX/He0o3RsYtxQ3rw5uL1hHzRRESia0D854pMob34X7OjN/nJ/5P4Bu5PqVKf1CzJdCPZlramubFA0lyEquDxCbC7FM64C4Zf3uAki/FudJFukafnrCIgAqoEA8I3W3dTvLI0etNNNldVPLHf5nt0aANsi76+YfueamMXh/XtxJjB3fn1tIWEvKnAkZlo8VoGL8wviaZeqfDSyUP1lsukM4ay6JttKDCsV8caqVkif5+6kjrWFhhs8Ns0NxZIct2mpVAw0CVZPOd+97hj3CTISUt0o4us5wirIgEhDEyeu4qp80ui38L903Qj37RjA0yiRXax3+aXrCvjzS82EA4r+XkBLjqyH0vWL6pWrxH9C/jPxyXM+9qNi4QUps4v4f/OObRGy2Dq/JJq16lUD5rllWF++eKC6KzooLhjIgH1gVlf8dYXGwhrcjm3ErHBb9PcWCDJVVUV8P5f4d074eTfuiSLA45Ny6kT3ej8N13x7raRqbgvzC9hY1k5kYZBWKFgHzewP9WXymRPZZhfT1uIejdjf1CJfEbk8e0zFhEOu5bPacP2Y+bCtVwxegDt2+ZHxzqWrCtj/qqt1eofGYiPbRmcN7wPzxetjo65nOctLmyVF4hel3/QJaxubYmgBIOBat1oFSl2STV22ndb2W4yyQJJLiopdptNbfgcDr0ADr0wpdPFu8nEu9EV7NMq2q2VlxcAVUJhjW4WVekbrAjgVoYXryzl+eKSaoPikW6oisowk6YtJKxKXkBAJDqIf+7wPtHgUxVWXvzEJXZ+b+kmzj68F68sWhftpvKvqwzWsvp8RP8CJl89Ou7A+l1vfBndKXHvueDEg7vTrX1rNpSVV9sMS0RY4+vWq6/GvLHb4L7JNAskueaj++C1X0K7/eDiKTB4fNzDkr1RJXuT8XdrBQLCbWcOZfB+7attFuUPFpFptpF1GrEiK9LD6mXVDSnqnaGyKswnq0rjby4DTPOCiv/1yMr0yOrzyL4jG8rK6d6+dXRBYbwAOaJ/AacO61ktkByyX3u+2rSTNxavJxgQqkKxtVGembuKF7xuvfrcmBvrxh75N/DN1t02uG8yygJJrogkWew9wg2kj/sNtKmZFqR4ZSlT55dEp+gGxN1cI/uRxwaYZGcQVevWQindVRE9bup8l64k7N1sgwFh0hlDo6/7u44CQF5QuKCwL0N7dYxO7/XfpoPBAKtLdyX+U7B3MTq4IHLsoK7RxYjFK0u5+F+zoy0WgKfmrGLkgAJuPvWQuNdXuquCgLjurIBA1/atWbK+zK2IrxFEIBymRtbhZIN3Y8zaivwNKqvCBINCXjBAKGSD+yYzLJA0dXu2weuTIK8tnHoH9DvK/cQRu00tVE8LAtT4JlzbDKLIjbFgn1as2bq7xs3I/83av0BQ1QUaqLlOxD/IXryyFETwhxEBxhzUjddi9lTfr31r1u8oj3ZjBQACEh1DiWQFBnejrqyq2Qqa+3UpF/zzQ046pAcK1VoqsX+HU4f1ZM7yzdHpx355AQgE3N8iGAywZutunp6zKuHmW7EyOWsr8t/s09Vbo4G0KqScPKQ7h/Xt1GhdaTYe07JYIGnKlsyEGTfCjvVw9E/2tkoSiN2mNiKSFgT2pv6oqNybUiTewLo/SLhWCOQHhbGH9KBr+9bVPi/yevTzFMp2V0a7lxQ30O0/971vL2PN1t01ur2CAYkGIb97LxvB1PklTJ6ztwtteL9OFK8spSqs3D5jb66tUft3IRiM1x3l6uYPUs8Vl0TXk/j/DkC1Zo/gWipjD+nBD453a3MiKVuembsqmoYlmVZGbHD1L5BMRaLADq6FFUmPn0k2HtMyWSBpinZugpk3w8LnoftQmPiU69Kqg/+brggogoa1WlqQVnkBKirDhIEPlm1i3tdbqu3BEa9fHdzttCqk0emvL8wv4YrRA6KD74GARNO6A/zrveU8/MGK6AD8s0WrmeKtTI8mRAwGyAsIobCbTqxeYsXYWVgnD+kBwMaycgIBd03BgDB/1dZo/Soq9968l6wrSzqxcWVVmNtfWsSw3h0Z6ssg7B/bCQgcc2DXGnm8Zi/fTFVYvdle6mUj1qRaGZHzpPOm6w/sAdz05bBSbYZaptliy5bJAklTtGcbLH0dxvwCjr0x6fxYI/oXMOmModENoCKD4fFmKH2wbFON/7PHZr3NCwaoCu29MfkHx8srwzz43nLUmyJ71bEDeej9FdFgElYI+VoEVSHlgVlfsbsytHdRYSjMxJH96NWpbbUV8+KLAsGAsH/Xfbn4wY+i3UwCHN63E3O/3pvrK+ClgC9eWcok/wLFOijwack2Pi3Zu/CxVV6A4w/qVq0r79RhPWu0HPyz2FrlJ14fE9HQ8alkxXaZXTF6AIvWbq/W7ZeMVLqmbLFly2SBpKnYVgKfTYFjb3JpTW5cEHcwvTb+DaBiWxoRI/oXcMNJB8XdutZ/YwuFlYtG9kUgOvNpaGSlt9eiidzvw2Glfdt8rjp2YDS45Adl77d1z5uL1xNWd/MOeAkRI2MUd7y8OHqcPwSEw1otQEVen+cLIgBnfMvdLH/xnwXVjm2Iiqowr3++nrwATBzZj/at86LBqXX+3hXu/llsk84YyiVH9YvehCN/64h4XT7pvukmyls27+stcVPsx5Nq15QttmyZLJBkWzgMxY/C6/8LGoIhZ7tAUs8gAjU3gIr3Dbe2LVxjb2z+FCF5AYFCmHTGUKbMW1XtG7yI+3b+9ze+dIv4BG47y+2A/OsXFxDSvavEFde6ObR3R4b2dtf49JxV/PPd5XGvya0s12o7FRLzGOCT1Vu54+XFPDN3FelSFXZBdMq81dHgVFHpFl+u2rLL1/WnzFy4FiA6Cy0YgIuO3LuPSaK0M+m+6SbKW5Zsa6e2VlKilkpseWMvtjTZZ4EkmzZ/5ZIsrnwfBh7vkix2Htjg0xXs0yruyvKIRN82/TcCf9dY6a6KvYEppDw1ZxVt8gMcN6gb/hxYYw/pwcJvtkW7nkIKby/ZwOF9O/Hbsw+NZt297SWX3gSBRd9sY8GabTxftJp2bRL/MxRcV9P4oftFFyXGs3LzroTBKCIYgDhLWqKfE68dM2/FluqtIYHnilZX62YLq0th/+FXm6NdalVhN+X4ueISzh/Rh13lVdHjY3OU1XZTbmg3U0NbO7Wlx0n0b6elDa77ZzPW1pXZklggyZZQFTxxthsPOeseOOKyWmdk+cW7uRSvLGXKvOrfxqfMW1WtSyPet80l68qi3Tb5wb2ry+es2MKYg7pF11ZElFeGWb99D3lBIRRSgkFX51lLNlT77Le+2MAbn6+PLhIcvF97wmFvh0Pde86KkLJlZ2XCa+1V0JbdFVW89GnNIBIMQLd2rVm3vTzh4kUBDujejs775FNUy/4pSvxgsnV39bqpF1T974v8jjcuU1EVrrG9b1VYq+UoizdTLpI+JtoiDAY4f0QfhvXqmNTNq6FdTMmkx/G3VBp7cD3bU4tjp9gHhBYTQGtjgaSxbVwCnQ9wSRbPfcAlWezQM+m3Pz1nVTStiD8j7aUPzWZPZfWv25+WbOPSh2ZH/5HHfttcur6s2rf8ipASWdURGSeInUeqwGcl2wgGhQO6t2PFph011nwIbmwjkt5k0rSFnHBwd+Is7ajTmtLdCV8LhaG8KlTr+xVYtmFHUp+V2shK8qJB1MtRFrkxxiaQnDJvVbWuykhAinfzSvQtuaGp8GOPi/zbqagMIyLR1m5jDq43hdZP7BR7m53mWCBpLFXl8N5f3M+438LoH0H/o+t1isiMpGh/fVX1rWHj8f8j93/bLNtdGbcrKOi1NCLjGfHurpGpwMneoKvCWi1PVTqV7qpK+zkP79ORz9ZsI8Ux+zqpulZjWIm2QCIZAhRYULKNvDgbeEXWAUX+u0a+XIS84C0QnRQQaXGmI2PxpDOGRs/lX7eTycF1fwskXa2fdMxKi0w4iUwaaemz0yyQNIbV81ySxY1fwLcmwmETG3Sa2cs3V+s+CXibOAF7dzAMuqmrs77c6FZeB4RPV2/lF/9ZUG1R4E+f/STuZ1xU2JeNZeU1Whn10Vjf7DOlZOtuTjqkBx8t30zZnroDVWz3X7Jci809rvBaIP5FlGGgW7tWDO3VkXeWbKiWSiaMGwOL/XIROW8kI/Mzc1elnLHYv7Yo3qLL+gyu1+cmHq+rL9XWTzLjhMl2GdoYyV4WSDLtw3+4bW879IZLn4dB4xp8qlH7d6F1vvs2FPAlKARq/OM+YXB3Fn6zjeeKVkeDwvNFq7nymIE1ptNGRLLu/uo/Cxpcx+Zg046KegXS7u1as66sPKXPDEO1mXARa7buYWNZOWMGd2f5pp3VWoGLvtlG6a6KGmMzAdy35A1l5dV3j4Skb77+rjL/zL1UcnbVt2sq3i6XqbZ+4rVqoH4LQ21WWk0WSDIlHHY7FPYZCYVXwkm3QZsOKZ2ytm6EeCulzxvep9o33IqQJpzZdGD3dlx5zED+/dHXLF5XllI9W5pUg0hdKkIaN7C9v3QTg/drXy3Z5Ij+BQzq0Z5zh/fhgVlfVTu+Z8c2QN2tAv8NPyAS7TKLrC3q3altg2aV1bdrKt74S6o38XjntNX4qbNAkm67t7o07/n7wGl/rjXJYkPU9n+k2MHaDWXl5HuZd+vy1YYd3PbSoqSONU3Dyi27WLnFZUkW73+KVpby2ZptnDu8T40uxpKte7jogQ9dRmN1ySdPPNjlTvN3e/r/HYFLR6PqUr/E5kyrzzf5+g7MZ2L8JdE5bTV+aiyQpNPiGfDfn8LOjXDM9XUmWUxV7LfBUft3IS8gVHh96W99sZ6xB/dg0drttc5+AqIztUxuci0G97iyKszU+SVs2L6nxnH+/8RV4b0JLKfMXcVvzz6US47qV+OGH7uLZWQGWH2/yScbGOItcEyn2HPaavzUWSBJhx0b4eWfwecvwn6HwiVToNfhaf0I//+5gGp7jvi3rPXnoAqFSWnQ3OSmkFLvFf4hJbrdQGzOtkjql0i246qwNnjwu67AkK0pvjbukRoLJOlQvh2Wvw0n/tq1RIL5aTlt7IBneaVbFR6AaM4qqL4PerJZb03zFhl/D4hLR1NRFa5z7Mu/3YA/T1fkuX+fm3QNfsey8YrcZIGkobauhs+egW//zEuyuAhat6/3aeItJAO318WUeasIhV3vWHRijkK8JXjJZrs1TUdQIM6WKbVKlMolkbxggMVrt8fdoMt/TqH69sj+m/nMhWurLcITSNvgdyzLHpybcj6QiMh44O9AEHhIVe/I6AeGw1D0MLxxG2gYhp5L8Y7O3reyqnrNp/cHi8j/SQO4qaB+1spofgS3pXAoyXEpAX5w3P60b5ufcDFprJEDCjiwR/u43Vz5Qbe7ZOwYSLzB51OH9Yxmiw56qVr8g+7pZOMVuSmnA4mIBIF7gXFACTBPRKar6ufp/qxDfjWTnqES/tTqIQrlC9j/BDjz7zz9pTBp2kf1WjkcWYkcby2HDXe3DOOG9OCNxcmPX4lA+7b50W0B+nXZlynzVrFo7fboRl8K0Y3Ezj68F3dNPCL6hSWy2dnQXh256Mh+cfeqiYh3M6/t+HSz8Yrck9OBBBgJLFPV5QAi8gwwAUhrIDnkVzOpqKrkidZ30J5d3Br6IX/4zh0Ur9rKpGkf1UhZUtdgYqIgYpqn2O6osw/vxXdGD+DdpRur7UIZ0a1dKzbuqL7dcKuYbp5LjupXbf8T/54y/pt9MmuP4ok3s8lu7iaRXA8kvYHVvuclQI1FGyJyNXA1QL9+/er9IburwkCQGyp+xErtwUYK+INIrSlLEol9j8kOIWbsKYXzgOsqap0X4Ih+BXyzdTd7KkP07NSWg7zFga8vWscri9Yxfuh+3HLaIUD1bATvLNnA+u17oq2Fi/81m8qqMHlB4YLCvgm7kuLd8Os6xph0y/VAEm+RRo1bg6o+CDwIUFhYWO9bR9u8ALurwhTpwdHnUHvKkkT873H7qqd+M2su8gJucNg/O6h1UAjjJhP4/075QRCk2iByu1ZB2rQK0mmfVvTq2IaFa7YRCAjD+xUwxksZIxDdbApcC3Hq/BIEaN86L7o17eD92vPC/BI2lpVHF+wB1SZG1CfX0oj+BdEA4i+LvO+So6p/wZn8PzZOYHKHaA6P5IrIaOA2VT3Fe34rgKr+IdF7CgsLtaioqN6fdcivZrK7KkzbvACLf3dqtLwhmUTjrQlZtr6M5Zt2Eg4rFxb2Zd32Pfx3wVqqQm7spWfHNt5GU0q71kFKd1WSHxC6tGvFtt2V7KwI0SYvQJv8IK28QHf24b35fO12Pli2ifxggJEDO7NtdyU9OrThB8cfwJJ1ZdFU5ZVhJT8gVIaVzvvkc2CP9tVunvFSYkTe371DG04Y3L3aTTXZ3fRS3V8i2/tTGNNSiEixqhbGfS3HA0ke8CUwFlgDzAMuUdVFid7T0EBijDEtWW2BJKe7tlS1SkR+DLyKm/77SG1BxBhjTPrldCABUNWXgZezXQ9jjGmpAtmugDHGmNxmgcQYY0xKLJAYY4xJiQUSY4wxKcnp6b8NISIbgZUNfHtXYFMaq5ML7JpbBrvmliGVa+6vqt3ivdDiAkkqRKQo0Tzq5squuWWwa24ZMnXN1rVljDEmJRZIjDHGpMQCSf08mO0KZIFdc8tg19wyZOSabYzEGGNMSqxFYowxJiUWSIwxxqTEAkmSRGS8iCwRkWUicku269NQItJXRN4WkcUiskhErvfKO4vI6yKy1Ptd4HvPrd51LxGRU3zlI0Rkgffa3SISb6OxJkNEgiLysYjM8J4362sWkU4i8ryIfOH99x7dAq75Ru/f9UIRmSwibZrbNYvIIyKyQUQW+srSdo0i0lpEpnjlc0RkQJ2VUlX7qeMHl6L+K2B/oBXwKTAk2/Vq4LX0BIZ7j9vj9nMZAvwJuMUrvwX4o/d4iHe9rYGB3t8h6L02FxiN26lyJnBqtq+vjmu/CXgamOE9b9bXDDwOXOU9bgV0as7XjNt6ewXQ1nv+LHBFc7tm4DhgOLDQV5a2awR+BPzTezwRmFJnnbL9R8mFH++P/arv+a3ArdmuV5qubRowDlgC9PTKegJL4l0rbu+X0d4xX/jKLwYeyPb11HKdfYA3gRPZG0ia7TUDHbybqsSUN+dr7g2sBjrjtsiYAZzcHK8ZGBATSNJ2jZFjvMd5uJXwUlt9rGsrOZF/oBElXllO85qsRwBzgB6quhbA+93dOyzRtff2HseWN1V3AT8Hwr6y5nzN+wMbgUe97ryHRGRfmvE1q+oa4E5gFbAW2Kaqr9GMr9knndcYfY+qVgHbgC61fbgFkuTE6x/N6XnTItIOmArcoKrbazs0TpnWUt7kiMgZwAZVLU72LXHKcuqacd8khwP3q+oRwE5cl0ciOX/N3rjABFwXTi9gXxG5rLa3xCnLqWtOQkOusd7Xb4EkOSVAX9/zPsA3WapLykQkHxdEnlLVF7zi9SLS03u9J7DBK0907SXe49jypugY4CwR+Rp4BjhRRJ6keV9zCVCiqnO858/jAktzvuaTgBWqulFVK4EXgKNp3tcckc5rjL5HRPKAjsCW2j7cAkly5gGDRGSgiLTCDUBNz3KdGsSbmfEwsFhV/+p7aTpwuff4ctzYSaR8ojeTYyAwCJjrNZ/LRGSUd87v+t7TpKjqraraR1UH4P7bvaWql9G8r3kdsFpEBntFY4HPacbXjOvSGiUi+3h1HQsspnlfc0Q6r9F/rvNx/3+pvUWW7UGjXPkBTsPNcPoK+GW265PCdRyLa6Z+Bnzi/ZyG6wN9E1jq/e7se88vvetegm/2ClAILPReu4c6BuSawg8whr2D7c36moHDgSLvv/WLQEELuObfAF949f03brZSs7pmYDJuDKgS13r4fjqvEWgDPAcsw83s2r+uOlmKFGOMMSmxri1jjDEpsUBijDEmJRZIjDHGpMQCiTHGmJRYIDHGGJMSCySmSfAy1f4ojecbIyJHxykfICIlIhKIKf9EREYmONfhInJamup1joioiBycjvN557xNRNZ417BQRM5K17m9848RL2NyLcdU+xuJyFmSw1myTf1YIDFNRSdc1tEaRCTYgPONwa1qrkZVv8blEfq27/wHA+1VdW6Ccx2OW2uTNG9FcDwXA+/jFkam099U9XDgAuCR2EDZCA7H9zdS1emqekcj18FkiQUS01TcARzgfav+s/ct+G0ReRpYACAiL4pIsbj9Jq6OvFHcXjHzReRTEXnTS0b5Q+BG73zfjvmsyVS/kU8EIntXPOrt0fCxiJzgZTK4HbjIO9dFIrKvuD0h5nnHTfDqcYWIPCciLwGvxV6gl9/sGNwCsom+8oCI3Odd1wwReVlEzvdeGyEis7zrfjWSBiMRVV0MVAFdReRi71oWisgffZ+3Q0T+4v3N3hSRbl75OyJS6D3uKi6lTOw1jBSRD73r/lBEBif4G10hIvd47+nvfc5n3u9+Xvlj4vbB+FBElkeu2eSgbK/StB/7UY2bFnsMLtHgQF9ZZ+93W9yK3C5AN1wLY2DMMbcBP0vwWfvhVgbnec8XA8OAnwKPemUH41JutMHtaXGP7/3/B1zmPe6Ey3iwr3dcCb5VxTGfexnwsPf4Q/buC3M+8DLui91+QKlXlu8d18077iLgkTjnjV4rcBQuZ1Jvr/7dcAkc3wLO9o5R4FLv8aTItQHvAIXe467A177/FpFsAB18f7eTgKne49i/0RW+874EXO49vhJ40Xv8GG4FdQC3b8aybP87tJ+G/SRqfhvTFMxV1RW+59eJyDne4764vEHdgHcjx6lqrcnlvGPWicgiYKyIrAcqVXWhiPwW+Id3zBcishI4KM4pTsYlgfyZ97wN0M97/HotdbgYl84eXPLIi4H5uLQ1z6lqGFgnIm97xwzGBbjXXTokgrgAGM+N4jLdluECTiHwjqpuBBCRp3AbIr2IS6U/xXvfk7jkhsnqCDwuIoNwASk/ifeMBs71Hv8btwlTxIvedX8uIj3qUQ/ThFggMU3ZzsgDERmD+wY8WlV3icg7uBu40LAU35HurfXeY4ifPjseAc5T1SXVCkWO8tc55rUuuE21homI4oKCisjPa/lcARap6ugk6vQ3Vb3T93lnJ/GeiMjfr4q93d1tEhz7W+BtVT3H60J8px6fE/t5AOW+x01mO1tTPzZGYpqKMtzWv4l0BEq9IHIwMMor/wg4XlxmU0Skc5Lnm4obHL4I1zoAeBe41DvPQbhWxpI453oV+IlIdI/rI5K4vvOBJ1S1v6oOUNW+uB0Mj8UNvp/njZX0wHUl4X12NxEZ7X1OvogMTeKzwG1Wdrw31hHEtX5mea8FvPoAXOJ9PsDXwAhffePpCKzxHl/hK6/t7/0he8eELvV9nmkmLJCYJkFVNwMfeAPDf45zyCtAnoh8hvtWPNt730bgauAFEfmUvV02LwHnJBhsR1W3eudY7+s+uw8IisgC7zxXqGo58DYwJDKQ7H1+PvCZiCz0ntflYuA/MWVTcTfyqbixlYXAA7ggsE1VK3A39D961/YJcWaixaMuTfitXt0/BearaiRN+E5gqIgU41pJt3vldwLXiMiHuDGSeP4E/EFEPsC1qiJi/0Z+1wHf8/7bfQe4PplrMLnDsv8a0wSISDtV3eF1gc0FjlG3p0gmPmuHqrbLxLlNy2RjJMY0DTNEpBPQCvhtpoKIMZlgLRJjjDEpsTESY4wxKbFAYowxJiUWSIwxxqTEAokxxpiUWCAxxhiTkv8P/qBfpGM/iNkAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#What is our correlation of Hispanic pop to total pop?\n",
    "print(\"this is Hispanic population by total population \"+STATE,\"voter-age population\")\n",
    "print(\"state pop=\",np.sum(tractPop), \"VAP pct Hispanic is \",np.sum(tractHisp)/np.sum(tractVAP) )\n",
    "fig, ax = plt.subplots()\n",
    "ax.set(xlabel=\"tract Voter Age Population\", ylabel=\"tract Hispanic pop\")\n",
    "x = [0,10000]\n",
    "y = [0,10000]\n",
    "plt.plot(tractVAP, tractHisp, marker='.',linestyle=\"none\")\n",
    "plt.plot(x,y,linestyle = 'dashed')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "237df16d-af87-47ba-acb1-2ef5702c1406",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "this is voter-age Black population by total VAP GA\n",
      "total state pop= 10711908 , VAP pct Black is  0.3027172816867175\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#What is our correlation of Black pop to total pop?\n",
    "print(\"this is voter-age Black population by total VAP \"+STATE)\n",
    "print(\"total state pop=\",np.sum(tractPop), \", VAP pct Black is \",np.sum(tractBlack)/np.sum(tractVAP) )\n",
    "fig, ax = plt.subplots()\n",
    "ax.set(xlabel=\"tract VAP\", ylabel=\"tract Black VAP\")\n",
    "x = [0,10000]\n",
    "y = [0,10000]\n",
    "plt.plot(tractVAP, tractBlack, marker='.',linestyle=\"none\")\n",
    "plt.plot(x,y,linestyle = 'dashed')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "10b208af-8eb0-45fa-9dc0-8873eb797200",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "this is a histogram of Census tract population for GA\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#for curiosity, let's plot the distribution of populations among tracts\n",
    "n_bins=50\n",
    "print(\"this is a histogram of Census tract population for \"+STATE)        \n",
    "fig, ax = plt.subplots(tight_layout=True)\n",
    "# We can set the number of bins with the *bins* keyword argument.\n",
    "ax.hist(tractPop, bins=n_bins)\n",
    "plt.show() "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "4aac60d6-4cce-469b-b075-ad743acda38c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "this is population by Census tract for GA\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#What is our distribution of tract populations by area?\n",
    "print(\"this is population by Census tract for \"+STATE)  \n",
    "plt.plot(tractPop, tractArea, marker='.',linestyle=\"none\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "f159bf55-a25e-45c0-b7ea-4c21fbce9bb0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'shapely.geometry.polygon.Polygon'> <class 'shapely.geometry.polygon.Polygon'>\n"
     ]
    }
   ],
   "source": [
    "print( type(tractGeom[0]),type(tractGeom[1]) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "5e8f8f92-a336-43e5-8ac5-20c657cb5857",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "looking for nonPolygons in census tract data\n",
      "166 0 0.00026515533650001675 nonPolygon tract no, pop, area\n",
      "0.0002498582830000143\n",
      "1.529705350000246e-05\n",
      "261 1509 0.03382349554150026 nonPolygon tract no, pop, area\n",
      "0.00042630844900011793\n",
      "0.03339718709250015\n",
      "929 2768 0.006130828092499979 nonPolygon tract no, pop, area\n",
      "1.818060699999046e-05\n",
      "0.006112647485499988\n",
      "1267 2200 0.014319799386499844 nonPolygon tract no, pop, area\n",
      "0.0006330850884999921\n",
      "0.013686714297999851\n",
      "1665 4811 0.019632654954000003 nonPolygon tract no, pop, area\n",
      "0.019560502891999954\n",
      "7.215206200004946e-05\n",
      "2459 1900 0.0379090063455 nonPolygon tract no, pop, area\n",
      "7.956522999996036e-05\n",
      "0.03782944111550004\n",
      "2751 2551 0.040442952405000135 nonPolygon tract no, pop, area\n",
      "0.000138082617999976\n",
      "0.04030486978700016\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(\"looking for nonPolygons in census tract data\")\n",
    "notPoly = [0]*nTracts\n",
    "for m in range(nTracts):\n",
    "    if type(tractGeom[m]) != type(tractGeom[1]):  #assuming tract 1 is a single polygon\n",
    "        notPoly[m] = 1\n",
    "        print(m,tractPop[m], tractArea[m], \"nonPolygon tract no, pop, area\")\n",
    "        x = tractGeom[m].centroid.x\n",
    "        y = tractGeom[m].centroid.y\n",
    "        if y < 999 :  #let's zoom in on these\n",
    "            for geom in tractGeom[m].geoms :\n",
    "                xg,yg = geom.exterior.xy\n",
    "                print(geom.area)\n",
    "                plt.plot(xg,yg)\n",
    "            plt.text(x+0.0,y+0.01,m,fontsize=9)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "d34b5fe5-6f02-413a-8c7b-c6662fa756ad",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#convex-hull these right away  (decision for each state - YES for GA)\n",
    "for m in range(nTracts):\n",
    "    if notPoly[m] == 1:\n",
    "        for geom in tractGeom[m].geoms :\n",
    "            xg,yg = geom.exterior.xy\n",
    "            plt.plot(xg,yg)\n",
    "        tractGeom[m] = tractGeom[m].convex_hull\n",
    "        x,y = tractGeom[m].exterior.xy\n",
    "        plt.plot(x,y)\n",
    "        notPoly[m] = 0\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "a05c0ec2-d208-45b8-8ff6-c1f1f583ad5d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[54, 166, 557, 558, 578, 856, 919, 1056, 1168, 1193, 1336, 1343]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# For potential later issues, identify and flag lakeshore low-population tracts.\n",
    "lakeTracts = [-99999]\n",
    "minTractPop = 5\n",
    "for m in range(nTracts):\n",
    "    if tractPop[m] < minTractPop:\n",
    "        x = tractGeom[m].centroid.x\n",
    "        y = tractGeom[m].centroid.y\n",
    "        x2,y2 = tractGeom[m].exterior.xy  #turn these two on to show state map\n",
    "        plt.plot(x2,y2,c=\"purple\")\n",
    "        if 0 == 0 :  # y <38.8:  #only eliminate lake tracts south of Chesapeake Bay Bridge from map\n",
    "            plt.text(x, y,m, fontsize=9)\n",
    "            # isSkippedTract[m] = 1   #not yet\n",
    "            if lakeTracts == [-99999]:\n",
    "                lakeTracts = [m]\n",
    "            else:\n",
    "                lakeTracts.append(m)\n",
    "\n",
    "print(lakeTracts)  # assigned as skipped tracts as well\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "da1f99a3-04d0-427b-95e3-d9a57836959d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAAA+9ElEQVR4nO3dd3gc1dX48e/dot6L1WXJcu/d2MZUm2I6MXkhIaGEQAotJAQSEiDw5hcIpEMCfglgAgkQumm2KQZsg3u33NSs3rt2pS3398cstjEqK2t31c7neebZNjP3rMuZ2Ttn7lVaa4QQQgxdpv4OQAghhH9JohdCiCFOEr0QQgxxkuiFEGKIk0QvhBBDnKW/A+hMQkKCzsrK6u8whBBi0Ni6dWuN1jqxs88GZKLPyspiy5Yt/R2GEEIMGkqpoq4+k64bIYQY4iTRCyHEECeJXgghhjhJ9EIIMcRJohdCiCFOEr0QQgxxkuiFEGKIG5B19EIIEShaaw58UUFrYzvaDW6XG2uIhdBIK6ERQcZjZBDWYDPBoRaUSfV3yL0miV4IMazZmh18uCLXq3VNZkVYdBARMcGERwcTHnNsiUsJJy41HLNl4HWUSKIXQgxrYVFBzL4giy3vFDJiZCTRiaGERgYRERtCUKiZoFALjnYXDruLtqZ2Whs6aGlop668lSO5dTjsrqP7MlkUCemR5MxMZOycJCJiQ/rxmx0jiV4IMezNvTCbsMggdnxYjL2wieZaO19OvmcNNnP2tROYuDC102077E5a6tupLW2h+kgzpQcb+Py1PD5/PY+0sTGMnZtMzoxEgsOsAfxGX6V6mkpQKRUCfAoEYxwYXtFa36eUegS4COgA8oDrtNYNnWx/HvAXwAw8pbV+qKegZs+erWWsGyFEf+mwO6kvb6Opxsa21UW0NrRz3cOnet0/31DVxsFNlRzcVEFjlQ2zxUTWlHjGzktm5KR4zFbfd+8opbZqrWd3+pkXiV4B4VrrFqWUFVgH3AZEAR9prZ1KqYcBtNZ3nbCtGTgILAFKgM3AVVrrfd21KYleCDFQ7P2slLUvHODqB+cTnRjaq2211lQVNnNwUwWHtlRia3YQHGYhZ9YIxs1NIiUnxmcXd7tL9D123WjjSNDieWn1LFprvfq41b4AlnWy+VzgsNY63xPIi8AlQLeJXgghBoqmGrvnWfcnxZ1RSpGUHUVSdhQLl42meH89BzdWcHBjBfs+KyMiLpixc5IZPXsECWkRfqvo8aqP3nNmvhUYDTyutd54wirXAy91smkaUHzc6xJgXhdt3AjcCJCZmelNWEII4Tf2VgfrXz3M/g3l5MxMJCqhd2fzJzKZTYycFM/ISfF02J0U7Kzh4KZKtq85wrZVxgjDM8/NZP5lo30R/ld4lei11i5gulIqBnhdKTVZa70HQCl1D+AEXuhk084OT50eFrXWy4HlYHTdeBOXEEL4Sofdyb51ZYREWGmqtrHn01LsrU5mnjeSuRdlY/Ri+0ZQiIVx85IZNy+ZtqYOPvpXLkW7a2mstvmsjeP1qupGa92glFoLnAfsUUpdA1wInK077+wvATKOe50OlJ1krEII4TfVRc2sf+Xw0ddp42JYuGwMiRmRfm03KNTMkb11hEZaOeu7E/zSRo+JXimVCDg8ST4UWAw87KmmuQs4XWvd1sXmm4ExSqlsoBS4EviWb0IXQgjfcbuOnasu+MZoZiwJTBdyU40drTUTF6YSFOKfindv9poCrPD005uAl7XWbyulDmOUXK7x/KT5Qmv9A6VUKkYZ5VJPRc7NwCqM8sqntdZ7/fJNhBCiF9ptTuorWqkvb+PQlkqK99URPSKU826cQkJ6REBisDV38M7jOwmNsDLlzHS/teNN1c0uYEYn73d6xUBrXQYsPe71u8C7fYhRCCH6xOVwU1XURHleI+V5jVQVNdHW2HH085BwKwuXjWby6WlYrGa/x6O1Jm9bNZ+/fpjWxg4u/ckMwqOD/dae3BkrhBhSHO0uakpaqClupqa4meriFmrLWnA7ja6ZmKQwMibEEZcSTmxyGLHJ4UQlhGAy+3+MGmeHi+L99Wx7v4iK/EbiUsO5+NZpJI+K9mu7kuiFEIOWrbmD6uJmaopbjib1hqq2o7V9weEWEjMimXpmBik50SSPiiYsKihg8bldbuor2qgsbKJody1H9tXi7HATFhXEmVePZ/yCFEwBGA1TEr0QYsDTWtNUYzfO0ktajOR+pJnW47pfIuNCSMiIYMycJBIzIkjIiCQiNtinZZE9cTpc5G2touxwIzXFzdSWtuJyugEIjwlm/CkpZE9LIG1srF+GQeiKJHohxIDidrmpK2/znKEfO1vv8IwSqUyK2OQw0sbHkpgRSUJGJAnpEYSE98+gYR12JxV5jZTsryf383LsLcYwBwkZkUw5I42EjEgSMyKJTQkL6EHneJLohRADQrvNyd7PStn9cQkt9e0AWIJMxKdFMHZuMgmes/T41HAsQf6/YNpVjPUVrTRUtlFzpIWyww3UFDejtXEAypoSz9SzMkgbG9NvSb0zkuiFEP2qoaqN7auPcGhzJY52F2njYjjl0hxjbPgRYQHpw+6M0+GipriFysImqgqbqCxsorHq2J2rZquJ5OwoZi3NInV0DEnZUX6rg++rgRmVEGJY0Frzwr1ffOW90/5nHHGp4QGPo76ijcqCY0m9tqQFt9u4qhseE0xSVhQTFqR4qnXCiUwIwRyASh1fkEQvhOgXXw7hG5UQctwIkcZ0fYFUVdTEhtfyKD1QD0BQiJkRWVFMPyeTpKwoRoyMIiLWfzXugSCJXggRMFprqoqaydtWRd72apqqbViCTExYkMLEU1NJyo4KWN92Y3UbX7yZz+EtVYREWFnwjdFkTYknZkTYoJwAvDuS6IUQftXW1EFFfiOlB+vJ31FNS107JpMifXwss84byeiZIwgKDVwqaqqxsX31EfatK8NkUcxemsWMJZkBjSHQhu43E0IEnNutqS9vpTyvkYr8RiryGo8OvWuyKDInxDHvolFkTU0IeDlkbWkL21YXcWhzFUrBhIUpzLkw269DDwwUkuiFECdNa031kWYKd9dSkd9IZX7j0Xr30EgryaOimbgolZRR0SRmRga8LNLpcFG0p5b9G8op3F2LJdjM1DPTmb44g4jYkIDG0p8k0QsheuVoP/vWKvK2VxkXUhXEp0YwZm4yKaOiSM6JJiohtF9qyd0uN6UHGji4pZL8bVV02F2ERlqZc0EWU8/MICSif26s6k+S6IUQPdJaU1nQZFxE3VZNc53d6GefEMus87MYNS2x3xNoU42NnR8Wc2hrFbamDqwhZnJmJDJ2TjJp42ICMmjZQCWJXgjRqQ6bk9KD9RTn1lOws5qW+nZMZkXGhDjmXJhN9rTA97N3xtbSwe6PS9j+QTFul5usKQmMnZPEyMnx/XYH7UAjiV4IARhD6BrVMQ2U7K+nsrAJ7dZYrCbSx8cy75JRZE0ZGMnd7XJTkd/E4a1V5G4ow9nhZtT0RE795hgi44ZP37u3JNELMUw5O1xUFDRReqCe0oNGYnc7NcqkGDEykpnnZpIxPo7kUdEBHWmxM1prmmvtlB5soHhfLUf21dHe5sRkVoydk8SMc0YG/G7awUQSvRDDSFtTBwU7q8nfXk3JwXojsStIzIxk2pkZpI2LJSUnut9ryrXWFOysMcaXqTTGc/9yoLPQSCvZ0xPJmhxPxoS4fo91MJA/ISGGuKZaGwU7asjbXkV5XiNoiEoMZcrp6aSPiyVlTAzBAyhZardm66oiNr6ZD0D0iFCSR0WTOiaG1LExxCWHD7k7V/1t4PztCiF8wu3WVBU2UbSnlsLdNdQUtwAQnxbBnAuyyZmRSFxq+IAaRvdLlYVNrP/vIcrzGsmamsB5N07GbBm+1TK+IoleiCGiPK+RvZ+VcmRvLbZmB0pBck408y/LYdT0RGKSwvo7xE512J0U7Kxh99oSKguaCA6zcPa1Exg3L3lAHowGox4TvVIqBPgUCPas/4rW+j6l1BXA/cAEYK7WeksX2/8EuAFjFsfdwHVaa3tn6wohTo6jw8XKv+7AZFZkToona2o8mRPjB0SFzIncLjdVRc2U7K+jOLeeivxG3C5NTFIYi/5nLONPSZZ+dx/z5k+zHThLa92ilLIC65RS7wF7gMuBJ7vaUCmVBtwKTNRa25RSLwNXAs/2OXIhhjGtNXVlrZQerKf0QAOlh+pxtLu46NZpZE6M7+/wAHA53LQ2tlNf2UZdaSt1ZS3UlrVSX96K0+EGBYkZkUxfnEHmpHhSxwysWZmGkh4TvdZaAy2el1bPorXWuYA3fzEWIFQp5QDCgLKTjlaIYa7d5iR3fRl7PyujobINgMj4ELKnJpAzY0TAknxrYzsHN1bSYXfisLvoaHfiaHfR3uakrbGd1oYO7K2Or2wTFh1EfGo4k05LIyk7ivTxsYRGBAUk3uHOq99HSikzsBUYDTyutd7ozXZa61Kl1KPAEcAGrNZar+6ijRuBGwEyMzO92b0Qw4bL4Wb7miJ2fFBMe5uT5FHRnPHtcWRMiCMqITTgsbz92E7jIq8Ca7CZoGAz1hALQSFmIuNDSc6JITw6iPDoYGKSQolLiej3IRKGM68SvdbaBUxXSsUAryulJmut9/S0nVIqFrgEyAYagP8qpa7WWj/fSRvLgeUAs2fP1l5/AyGGuOriZj58Npfa0haypyUwe2kWI0ZG9UssrQ3trP33AWqKWzj/pilkT0+Q7pZBoFdXPLTWDUqptcB5GH30PVkMFGitqwGUUq8BC4CvJXohxFd12JxsWlnArrUlhEZYueBHU8mamtAvsbQ2trN7bQm7Py7B5dQsXDaaUTMS+yUW0XveVN0kAg5Pkg/FSN4Pe7n/I8ApSqkwjK6bs4FOq3OEEIbWhnYOb61i2+oi2po6mLQojVMuGRXwChpHu4vi3DrytlVxeGsVbrdm1LRE5l+WM2BLNUXnvDmjTwFWePrpTcDLWuu3lVKXAX8DEoF3lFI7tNbnKqVSgae01ku11huVUq8A2wAnsB1P94wQ4pimWhuFu2rJ21ZF2eEG0JA8KoqlP5xKUlZgumkc7S5qS1uOTiRSeqAel9NNUKiFSYvSmHZ2OtGJkuAHI2UU1Qwss2fP1lu2yIm/GFq0W9PW1EFTrZ3mWpvn0U5lQRO1pUZhW2xyGGPmJDF61ghikwM3SJfWmmfvWk9bUwdgDJGQPTWBrKkJpIyOxjyMx3IfLJRSW7XWszv7TO5KEMJPOuxOyg42cGRfHRX5jdSVt+JyuL+yTmiklbjUcBZ8YzTZUxP6rUukvc1JW1MHI7KiOPeGSUTGh8hF1iFEEr0QPqLdmpqSFo7sq6V4Xx3lecYdn5YgE8mjopl8ehoxiaFExocSGR9CZHwI1n6eGENrTUluPRtXGgOInXn1uICXawr/k0QvRB+0NrZTnFtH8b46inPrsDUbNwnFp0cw7ewMMifGkZIT0+/juZ+oobKNAxsrOLipgqYaO+ExwZz5nfEkpEf2d2jCDyTRC9ELLoebsrwGivfWcWRf3dG+9dBIKxkT4sicGEf6hDjCo4P7OdKva2vq4PDWSg5srKSqsAmlIH18LHMuzGbMrKQBdzASviOJXohuaLemvrKN4n1GYi87WI/T4cZkVqSMjuaUS0eROTGehPSIATVGutaaxiob5XkNlOc1UpHXSH2FMWRCfHoEC74xmrFzkgiPGXgHJOF7kuiFOE7h7hreeXwXWVMTcDvdVBY20d7mBCAmKYwJp6aSOSGO1LExBIX4/79Ph82JvdVBh91Jh81Jh81Fu82Jw+6k3fP66Gd2l+fRSUt9O/YWoxspOMxCck40Y+clkz01gfi0CL/HLQYWSfRCHKcivxGAwl01AFjMmtQkTVqKiagYO2ZLJe7CWspKLZiDLJiDrV95NAVZMAcHYQ7xLMFWzNaT+29WntfI649upbsKaJNJERRqISjUbDyGWIiIDSExM5Lk7GiSR0UTmxw2oH5tiMCTRC/EcSZMi2Dbuy60MqphnC5FWaWirBLA7Vkc3eyhE9qNSbtQ2oVJu41H3CjcmHBjQhvPlcakNArjUZvMaJKO7mbhOfGkzMwmONSCNcRMcKgFs9UkZZCiR5LohThOdFYSV/84neoXX6Ppgw9xOd1G0o+IInTeKQTPmIkKCcPV4cTlcOHqcOF2GovL4cLtdONyunE73bhd2nju0rhdbtwuY5o/l0vjdoNbG6+1W3leK+M9rXBqE26XiQhqaLEa49uYN64h6fKf9fOfkBiM5M5YIbrRfugQTe+9R9O779FRWAhmM+GnnELU+ecRuXgx5piYgMRRescdtH6xkTGffYoy92/tvRiYurszVuqphOhG8JgxJN56K6Pee5fsN14n/oYb6CgupvxXv+bgKfMpvPIqHOXlfo1Bd3SgHU5cdXV0FBT4tS0xNEnXjRAncNbWUvXIozjratE2O26bDbfNhvY8um22o+vaduzAtms31pQU/8RSXU3Jbbdj27aN+O/fQFBOjl/aEUObJHohTuBqaKDxjTcwRUQQMn485rhYrKFpmEJCUGGhmELDMIWEYAoLJWTKVMLmzvFLHLbduym5+RZcTU2k/fEPRC1d6pd2xNAniV6IEwTn5BC1dCnNH31E6qOPYE1ODmj79txcGt94g/r/vIglMZGs//ybkPHjAxqDGFqkj16ITiTecQe43VT/6U8Ba7Nx5dvkX3IpBZddTv2//0PkOeeQ9cp/JcmLPpNEL0QngtLTiL36ahrffAtHZaXf27Pt2UvZXXcBkHTvrxnz2aekPfoIlthYv7cthj7puhGiKwqwWjFH+XeGJ+1yUXH//Zjj4hj5/L8wR8oIksK35IxeiC60bdxE6LSpmEL9Oz57R0EB9j17iDr/fEnywi8k0QvRCXdHB/Z9+wBwNTX5ta2gnBwiFp9Nw0sv0X74sF/bEsOTJHohOqGsViLPPgvblq2U3HKrf9tSipT77gOTifL77vdrW2J4kj56IU5g272bmsf/TsvatQBEnX+eX9tzVldTds89aLsdy4hEv7YlhqceE71SKgT4FAj2rP+K1vo+pdQVwP3ABGCu1rrTwWmUUjHAU8BkQAPXa60/90n0QviQo6qK6j/8kcY338QcHU3CrbcQ9+1vY46O9lubzWvXUv6LX+JuayPp178i9lvf8ltbYvjy5oy+HThLa92ilLIC65RS7wF7gMuBJ3vY/i/A+1rrZUqpIKB/prkXogva4aBuxQpq/v4PtMNB/PdvIP6mH2COCPdru80ffUTJLbcSPGYMaY8+QvDo0X5tTwxfPSZ6bQxv2eJ5afUsWmudC3Q7FrZSKgo4DbjWs68OoKNPEQvhQx2FhZTe+XPsu3cTccYZJN19F0FZWX5vt237dkpv/wkhEyeS+cwzfj+oiOHNqz56pZQZ2AqMBh7XWm/0cv+jgGrgGaXUNM8+btNat3bSxo3AjQCZmZle7l6Ik6O1pvG116j47f9DWa2k/fnPRJ13bkDadtvtlN/9CyyJiWQsf1KSvPA7r6putNYurfV0IB2Yq5Sa7OX+LcBM4B9a6xlAK3B3F20s11rP1lrPTkyUC1LCf1wtrZT99KeU3/MrQidPZtQbrwcsyQPUPPkkHUVFpDz4gNz5KgKiV+WVWusGYC3gbRlCCVBy3C+AVzASvxD9wn7gAIXLltH0/ioSb7+dzGee9tsQw53pKCml7p9PE3XhhYQvWBCwdsXw5k3VTSLg0Fo3KKVCgcXAw97sXGtdoZQqVkqN01ofAM4G9vUpYjHs2HbupG7FCqxpaYRMmkzkuef0ep5UV0sr9c//i5q//wNTdBSZzz5D+Ny5foq4a1WPPgomEyN+ekfA2xbDlzd99CnACk8/vQl4WWv9tlLqMuBvQCLwjlJqh9b6XKVUKvCU1vrLwbNvAV7wVNzkA9f5/muIoaziwf/FvmcPWK3gcBB+2iJSf/c7LPHx3W6nnU5s27fTtHoNjW+8gbu5mcglS0i+714sCQkBiv6Ytm3baX7/fRJuvjmgvyKEkDljxYCXO34CAOP37Kb+pZeoevj3mCIjiVy8mJCJEwmZOJHgcWNRFgsd+fnYdu6kbfMWWj75BFd9vXGX65LFxF17LaFTp/bb9yj9+c9p+XgtYz5ZiylMqoyFb3U3Z6zcGSv6jVu7aXW00tLRQrOjmZaOFlocLTR3NH/lvS8vk3541WKCLzyXCU/8jbZnnqfp/fdpeOkl40OLBVNwMO5Wo6DLFB1NxGmnEXn22YSfemq/V7a4bTaaV68h+tJLJMmLgJNEL06KW7tpcbQYCbmj+djzbhL20fc867Y6WtH0/IvyuTvNXLhRc8GWKqJ+9xwV6jkq0kLomJ5OePxkYhxBhNW2EhQUQtQZZxI2dx5BWSNRpoEzlFPblq1ou53IxUv6OxQxDEmiF17ZULqBmz64qU/7GBk1kpzoHCKCIogMiiTCGkGro5WipiKKm4upaquizdn2te0cFsXrCxVvLVCMKnUzM8/NmLJ2Rm08TITdGO3R6Vna1n5Ku1VhC7fQHhGEMyoMd3Q4Kjoac2wsQXHxhMSPIDwxhajENGKSMwmLG4EKCurTd+uJbddOAMJmzvBrO0J0RhK98EqwJbjT9388/cfkxOQQYY0g1BLK9qrtfHjkQ3ZW7/zaukVNRTjdTkzKRLuznTZnGy0O46ZrszKTEZlBdnQ2WVFZZERlMCJ0BE7txOFy0O5qJ78xn13Ju3gray82p40QUzBnW6ewMGgC1hY7jroanHX1uBsaUY0tWJpbCWpuIrS8lvA2N+HtX42nybMA2IIVtnArHZHBOCJD0dGRqJgoLLFxBMXHE5qQRHhiKtFJGcQkjSQkNt7ryh9nXR1NK98mePx46bYR/UISvfDKrKRZ7PruLpodzdz60a1srdzKyKiRLBu7jLiQON4teJfHtj9GaUsp8SHxXDPxGhamLSQ6OBqLyUKro5UdVTs4UH8ArTUhlhBCzCFkRmUyOWEy42LHEWIJ8SoWh9vBvtp9vHboNd7Nf5f3O7ZzUc5FfOeimxkbO7bTbZxuJw0tNTRUl9BYWUxrdTn22io66mpw1tejvzw4NLURVNdAeHEN4W1uQhzH9qGBBs/iNEFbmBlbpJWOyBCc0eHo6EhMsTGY4mKxh1uZ3ZZEx4aN2HfvBiD98cf68lcgxEmTqhvhNZvTxp2f3MknJZ9w8/SbuWnaTWwo3cCftv2J/XX7GR83nh9O+yGnpZ+GxRSYc4gaWw1/3vpn3sx7E4CVl64kKzrLJ/t2uBw0NFZSX3mE5upS4+BQU0lHbS2u+jpUQxOmxhaCmuwEN7cT1uokwn5se60UYdOmEb7oVCIXLyFkXOcHISF8QapuxElzuBzsqN7B+tL1rMxbSbWtmrvm3EV8aDzXvn8tWyu3khaRxkOLHuL87PMxqcBcAG13tbOmaA3v5r/L5+XGqNch5hAcbkcPW3rParaSGJdOYly6MRh3N1odrSx7axmNrbWcETWLqdZsLj7lWsLiR/gsHiFOliR68TW1tlo+KPqAdWXr2FS+6egF0jBLGJPiJ/HkridpaG8gLSKNu+bcxTfHfZMgs38vZn7Jrd38a9+/eGr3UzS0N5Aansp3JnyHRemLmJwwmVCLf+d37UxjeyO3fXwbZa1lPH3u08xKmhXwGITojiR68TW/Wv8r1pWu+9r7bc429tft58zMM1k2ZhmnpJ4SsDN4MH5d3LvhXt7Of5uFqQu5dvK1zE2eG9AYjqe1ZkPZBn6/+fcUNxfz0KKHJMmLAUkSvfia3yz4DQfrD3b62fi48SSEBn74gFZHK3esvYMNZRu4efrN3Dj1xl6Pd+MLWmsONRxiVeEqVheuprCpkBFhI3hyyZPMSZ4T8HiE8IYkevE1I8JGMCJs4PQtf172Ob/d+FtKmkt4YMEDXDbmsoC23+5qZ0fVDr4o/4IPj3xIQWMBJmViTtIcvjfleyzNXhqwrishToYkejFg7a3dyxM7n2Bt8VoyIzNZvmQ5c1N8P+Kky+2ixdFCY3sjje2N1LfXc6TpCIVNhUbtfvUu2l3tmJWZWUmzuHrC1ZydeTbxod0PqibEQCGJXgwoDpeD9WXrefnAy3xW+hmRQZHcMuMWrpl0DcHmzm/aOln5jfnct/4+dlbv7HQohsigSLKjsrli7BXMT53PrKRZhFtlNigx+EiiF/3O5XaxpXIL7xW8x5qiNTR1NBEbHMttM2/jynFXEhEU4dP2tNa8fOBlHt3yKCGWEG6YcgNxIXFEB0cTHRxNVFAUGZEZxIXE9ct1ACF8TRK96Dd7a/ayMn8lqwpXUWOrIdQSylmZZ7E0eynzU+ZjNVt92p7L7WJtyVqe3fMsO6p3sDB1IQ8ufJDEMJm6UgxtkuhFwO2o2sHfd/ydz8s/J8gUxKL0RZyffT6npZ/mlzr4GlsN7xW8x0sHXqKoqYi0iDTunX8vy8YskzN2MSxIohcB43Q7uWPtHXxc/DFxIXH8dNZP+cbYbxAZFOmX9jZXbObBLx7kSNMRXNrFlIQpPHL6IyzOXBywIRqEGAjkX7sICLvTTn5jPh8Xf8zomNG8sPQFwqz+HclxVeEqChoLWDJyydFRNoUYjiTRC5+zO+1sq9rGpvJNHKw/SH5jPmUtZUcrW6YmTvV7kq+11bKrehehllDumXePlEKKYU0SvfCZPTV7eG7fc3x85GPsLjsWk4XRMaOZmjCVS3IuITsmm3Gx48iOzvZbDPX2el499Cor9q7A5rTxh9P/IEleDHs9JnqlVAjwKRDsWf8VrfV9SqkrgPsxxvWbq7XuclxhpZQZ2AKUaq0v9EXgYuCosdXw3L7neGbPM0QFRXFxzsWcmXkmM0fM9PuZOxjlkjuqd/Cf3P+w5sganG4ni9IWcdvM2xgXN87v7Qsx0HlzRt8OnKW1blFKWYF1Sqn3gD3A5cCTXuzjNiAXiDrpSMWAs79uP//c/U8+KPoAp3Zy6ehLuXvu3QG5qUhrzcH6g7xb8C7vF7xPWWsZEdYIrhx3JZeOvlQSvBDH6THRa2NmkhbPS6tn0VrrXKDH8jSlVDpwAfBb4I6+BCsGjjcOv8F9G+4jzBLGtyZ8i2+M+QajYkb5tc2d1TtZX7qefbX72Fe7j2pbNWZlZn7qfG6ecTNnZ54dkF8QQgw2XvXRe7petgKjgce11ht70cafgZ8D3dbQKaVuBG4EyMzM7MXuRaD9O/ff/G7T71iQuoBHTn+EqKDA/FC77aPbqLXXAsYkIz+c9kOuGn8VsSGxAWlfiMHKq4G8tdYurfV0IB2Yq5Sa7M12SqkLgSqt9VYv2liutZ6ttZ6dmCh3Kg5Ue2r28LtNv+O09NP421l/C1iSB3jhghe4dcatjIsdh91l54mdT/CLz37BZyWf4dbugMUhxGDTqxkbtNYNwFrgPC83WQhcrJQqBF4EzlJKPd+bNsXA0uIwevHCreEUNBbgcPlu6r6epEWk8f2p3+eVi1/hzUvf5KZpN3Gg/gA/+vBHXPLGJazMW8lAnANZiP7W4+TgSqlEwKG1blBKhQKrgYe11m97Pl8L/Ky7qhvPemd41uux6kYmBx/YHt70MM/nGsdrhSImOIbTM07ngQUPBHxIAYfLwaqiVazYu4L9dfu5avxV/HLeLwMagxADQV8nB08BVnj66U3Ay1rrt5VSlwF/AxKBd5RSO7TW5yqlUoGntNZLffUFROC9uP9F3it4j8igSBxuh7G4HDjdThxuBxHWCFocLWg09e31vHH4DX48/cckhycHNE6r2cqFoy5kafZSHtn8CM/nPs+SkUtktichjuNN1c0uYEYn778OvN7J+2XA15K81notRrePGAS+KP+CbVXbsCgLExMmYjVZCbYEE2GKwGqykhmVidVkxWqyEhcax7zkeQFP8sczKRNXjb+K53Ofp7SllDlIohfiS3JnrOjUL+f9kg+PfMjFoy/mNwt+09/heOWz0s8AGBs7tp8jEWJgkUQvvuLLu1xX5q0EjMnAB4PVhav5w5Y/MHPETCbETejvcIQYUCTRi6P21u7lyrevBODMjDO5bPRlnJFxRv8G5YU1RWu489M7mZowlb+e9VcZY16IE0iiF0fV2eqOPm9sb2RTxSaaHc2Mih5FVlSWz6f066s9NXt4bMdjrC9dz5SEKTy55Em5M1aITvRYXtkfpLyy/2ws38gHRR+QW5fLgboD2F32o58lhiYyLm4ckxMmMzl+MpMSJpEQmhDwGD8s+pDHdjzG4YbDxATHcN3k67hq/FV+mZ1KiMGir+WVYhiZlzKPeSnzAGNGqCNNRyhoKqCwsZD8xnz21e5jQ9mGo3eiTkmYwl1z72Ja4rSAxfj0nqc53HCYc0aewwMLHwjIIGpCDGaS6EWXLCYLo2JGfW2wsjZHG7l1ueyq3sUft/6Rx7c/zvJzlgcsrr+e9VcW/3cxaZFpkuSF8EKvhkAQAiDMGsbMETOPntUvTFsY0PbjQ+MZEzuGHVU7AtquEIOVnNELr7ncLvIa89hRtYO38t5iZ/VOFmcu5tsTvh3QOKrbqjlQf4DvTPhOQNsVYrCSRC96VLfvDU7f/OtOP2svWsftz833vFIo4+Ho668+U197V6ku3j/69KulkgpFJQ7c2o2zLq/X30WI4UgSveiavQle+z6uvNWQmX707QityMCCAmpwfX07zdGJwD0vj3v/2Dv6K5t0Xv3V1TppbjfjCzf14ssIMXxJohdde+/ncGg1iYvvZ/e8H4IlqL8jOuaT38PHvwWHDaxSVilEd+RirOhaYwloN7RWw55XoWyHcZY/EITFGY/2xv6NQ4hBQM7oRdcu+AO8/RPY+CS4Oo69HxoHsVnGEpMBU/8HkiYFNrbgaOPR3giR/TdqphCDgSR60bXEcXDdu+ByQl0eVOVCfeGxZe9rxnqtNXDp3wMXl9aw93WwhEBEUuDaFWKQkkQvema2GEk/cZzxuqkcPnkYTBaISoMz7g5sPHtfgwPvwJIHIDQmsG0LMQhJohe9969LofYwzLoOzroHQmMD067LAXteg3fvhNSZcMqPA9OuEIOcJHrRe6kzoKEYzvpVYM6oW6pg67Ow+Z/QUgFJU+Cbzxm/NIQQPZL/KaJ3miugowUcrXBoNUz9pn/a0RqKN8GWp42uGlcH5JwNF/8VRi8BkxSMCeEtSfSiZw67kdR3/xcOrjJKLuf9EMZf4J/2CtfBW7caF4CDIowuornfh4Qx/mlPiCFOEr3omr0JVt8De9+A9iYIT4RZ18K8myA+x/ftud2w/Tl452cQOxIu+TtMvBiCI33flhDDSI+JXikVAnwKBHvWf0VrfZ9S6grgfmACMFdr/bWZQpRSGcBzQDLgBpZrrf/iu/CF32gNb/4Y9r8D066EKcsg6zT/9Itrbfxi+Oh/oWIXjDoDrlghFTVC+Ig3/2vbgbO01i1KKSuwTin1HrAHuBx4spttncBPtdbblFKRwFal1Bqt9b4+Ry78w+U0+t83Lofct+Cc/4UFt/inrdYaox5+54tQusW4AeuyJ2HKFWAy+6dNIYahHhO9NuYabPG8tHoWrbXOBbqdiFlrXQ6Ue543K6VygTRAEr0vOGyQv9boNy/bDk2lRn/6l4N/HZ0mUn/1+dHPTlhPu0EfN0jZ+Ath/s3+ib2tDp67BCr3QEwmXPhnmHE1mK3+aU+IYcyr3+FKKTOwFRgNPK613tjbhpRSWcAMoNNtlVI3AjcCZGZm9nb3w0drDRx8H/a/C3kfgdMGQZGQPgtSp4M1DFBfG97XeK2Oe84J63meW0KMJXEcjF789f34QvUB+M+Vxlg6V70EY8/1TztCCMDLRK+1dgHTlVIxwOtKqcla6z3eNqKUigBeBW7XWnc6KpbWejmwHIzJwb3d97DQVmcMKrbnVSjeaJx5R6UbZ8Djl8LIUwfWyJJdcdhg81PGyJOWYLjmbcic199RCTHk9erKmta6QSm1FjgPo4++R55+/VeBF7TWr/U6wuHK2QGHVhn91wdXgdsBIybBaT83knvy1MFzFtxWZyT4jU9CW41RD3/RX4wB0YQQfudN1U0i4PAk+VBgMfCwNztXRgf+P4FcrfUf+xTpcFF9EDb/n1Gzbqs3Bu2ad5NR+ZI8pb+j857WUHPIuOFp2wpwtMGYc2Dh7ZAV2DlmhRjuvDmjTwFWePrpTcDLWuu3lVKXAX8DEoF3lFI7tNbnKqVSgae01kuBhcB3gN1KqR2e/f1Sa/2uz7/JYFe4Dtb9GQ6vAXMwTLgQpn3LKDUcDLf6u13QcATKdxrXDvI+hsYjxsBnU64wKncCPZSxEAIApfXA6w6fPXu23rLla2X5Q1NHG7x/F2x7DsJHwJwbYPb1EJHovzZdDuhoBbTxvL3ZGNe9oxWUyUjOZgs42434OlqMM/KOVmNpbzaGQmgqgcZSY73WKnDajf0HRcKo0yHnLBh7HkSn+e+7CCEAUEpt1VrP7uyzQXCqOMRt+JuR5BfeBmf8Eqwh/mvrwPtGt1DheqNa56QpY7KPqDRImgiWUAhPMCp1RkyElGlSJinEACKJvr9FeibOcNiMKfv8eYFy93/h8AcQkQwLfmWcvZutEBxlDDMQFA5ocDuNG6cswcZ7QeFG2WZQhOd56OC5ECyEkETf72ZeAyVbYNNyozJlxtVw5q+OHQB86ZLHjINJwScQl+2/QcmEEAOKjPXa35QyEvBtO2HuTbDjP/DEQv9Mwm0NNe5CBfj0Uajc6/s2hBADjpzR+4rLCe/+DIo2QHCE0RUSHGlcmAyOPPZeUISnq8TTDWKyGhc/Xe2QdSrUHIS8D42x2Mcs9n2c839sdM3sfxee/wb8cAOExfm+HSHEgCGJ3hccNlh5O+x60Rg2QGujMqWlynhsb4L2lq+OI9OdqDRIm+mfWEdMgMuegLId8NRiWHmbMVuT9LkLMWRJou+L+iLjAufmp6C53OhbP/3OztfV2jggdLQcS/4dbcYdry6nMYRBSLRxg1REkv8Tb+p0Y1Lvjx40BkTz14FFCNHvJNGfrHV/gg/uN55nLYLL/w+yF3W9vlIQFGYsESMCEmKPJn/Dk+i3SaIXYgiTRH8y8tcaSX7SZbD4fmMc9cHGYYfP/mA8T5zQv7EIIfxKEv3J6Gg1Hk/58eBM8vmfwLt3Qs0B40atkQv6OyIhhB9Joj8ZXw4uVrkbMub0byy9UbIVPnnImLYvZiR8+1X/VPYIIQYUSfQnIzrDKIusy+/vSLrncsCRL4yB0g59AFV7ITQOzr4PTvmRf4dbEEIMGJLoT0ZbnVEtE5na35F8ldsF1fuNWv6CT4wumvYmo04/cz6c+zuY+R2jnl8IMWxIoj8Ze141HkeMD1ybbje0NxoHmbZao0a/vhDqC6CuwHjecMQ4AIFRiz/pMhizBLJPh5CowMUqhBhQJNH3VsGnsObXMHoJZJ/h+/3bG42bryr3GnX3Tpvx6GgzphA8UXA0xGUZ1w0mXgwJ42DkfKMPXm6CEkIgib53tjxtVKvE5cCl/wCTj4cKaiqHF5YZk2ePO98YIsESYowcaQ2FsPhjS3i8kcxDYyWhCyG6JYneG1rDql/CF383zuSX/dO4i9WXqg/C85cb0wd++2Vj0g4hhPABSfTe+OhBI8nP+wGc+//AZPbt/it2w4qLjf1e+zakzvDt/oUQw5oMU9yT9X8x7iCddS2c95DvkzwYJZC2OogbZUwnKIQQPiRn9F1xu+G3ycbwwaMXwwV/9F9f+JwbjJme3v8l/GO+0daUZf5pSwgx7Eii78oXjxtJHoyzee0G/HA2D8YBZNa1xuBor90Ir34Ptj5rnOHHZXseR0H8GLnJSQjRaz0meqVUCPApEOxZ/xWt9X1KqSuA+4EJwFyt9ZYutj8P+AtGlnxKa/2Qj2L3r9FLYN9bRv/5S1cb1S1jz4cJFxoXSq2hvm8zPgeuX2WMjLnnVajKhbaaY58rs7HOiAnGJNxJkyBj3sAZDVMIMSAprXX3KyilgHCtdYtSygqsA24DGgE38CTws84SvVLKDBwElgAlwGbgKq31vu7anD17tt6ypdPjRuB1tELeR5D7Nhx8z6hzt4bB6LNh/EUw9lwIjfFf+/Ym46ao2sNQtR+q9hlLXQHg+btLGGv8Ghi/FLJOM8a2F0IMK0qprVrr2Z191uMZvTaOBC2el1bPorXWuZ6dd7f5XOCw1jrfs+6LwCVAt4l+QAkKhzHnGsl07Dmw5Rko/AxyVxpLVBrc4cevExIFKdOM5XgdbcZNVUXrjSEPdr0EW/5p3EA17nxYcPOxwdeEEMOaV330njPzrcBo4HGt9UYv958GFB/3ugSY10UbNwI3AmRmZnq5e/8pyc8l/blTelzP3lLHnj9+/cKp7vIA2N2BsZvPujmgasxYQ09hjGsLEe0NxpSGu16kNiQT6y0biQoP66ZNIcRQ51Wi11q7gOlKqRjgdaXUZK31Hi827Sw7ddpXpLVeDiwHo+vGm7j8qaGmgvRO3q9VMdgIQX35NTSkNO/6yjrdpeSuqG660Lqv9Tm2XQsWWkggkhbCsWO11XD7C5t4+sYzut2DEGJo61XVjda6QSm1FjgP8CbRlwAZx71OB8p602Z/mTz3TD6Pz+e/W4pZe7CautYOQqwm/nbVTJZMTOrv8Lzyf6sP8NFHh2ltdxIeLAVWQgxX3lTdJAIOT5IPBRYDD3u5/83AGKVUNlAKXAl862SDDbT5OfHMz4nH5dbsLGngiic+573d5YMm0dsdLiwmhdUs98UJMZx5kwFSgI+VUrswEvcarfXbSqnLlFIlwHzgHaXUKgClVKpS6l0ArbUTuBlYBeQCL2ut9/rji/iT2aSYmRlLQkQQn+fX8kV+bX+H1KOP91fx7IZCTh+bSJBFEr0Qw1mP5ZX9YUCVVx7ns0PV3P3qbkobbCz/zizOmZTc3yF9zZ7SRv605iAf7q9iXFIkL/9gPtGh1v4OSwjhZ30qrxTHLBqTyJo7TmPivavYXtwwIBK91pqCmlY+yK3ktW2l7K9oJjLEwp3njuO6hVmEBclfsRDDnWSBXupwGpN/JEQE90v7WmtKG2zsLG5k3eEaPjtUTUm9DYBpGTHcf9FELpuRTnSYnMULIQyS6Hupoc2Yqi/Wz4lUa01Dm4PC2laO1LWRV93K7pIGdpU0UtvaAUBEsIUFOfHcdHoOp49JJDNe6uWFEF8nib6Xmu1OACJD/Jfo73l9N2/tLDvaFoBJwegREZw5fgTT0qOZmh7DxNQoqagRQvRIEn0vNdqMM/rIEP/90a3aW0l6bBjLZqUzMi6MrIQw0mPDCLH6afRMIcSQJom+l8oajf7w1Gg/jF4JHKpspqalne8vyuZ7p2b7pQ0hxPAiv/t76UhtGyYFydH+GRf+zx8cIizIzLJZnQ3AIIQQvSeJvhc+2l/J/32Wz7SMGL/chNTQ1sGqvRV8e14m8f1U1SOEGHok0Xvpje2lfP+5rYxNiuSp73Z6T0Kfvbi5GKdbc/lMOZsXQviO9NF74dn1Bdy/ch/zR8Wz/Luz/FJxY3e4eG5DIQty4pmQEuXz/Qshhi85o++G1po/f3CQ+1fu45yJSTxz3Ry/JPnWdic3/3s7ZY12fnB6js/3L4QY3uSMvgtaa36zch/Pbijkilnp/O7yKVj8ULO+u6SRO17eweHqFh64ZBKnjU30eRtCiOFNEn0ntNY89N5+nt1QyA2nZnPPBRN6mjLxpPzr80LufWsv8eFBPP+9eSwcneDzNoQQQhJ9J/6+No8nP83nu/NH+i3J7yxu4Ndv7uXMcYn89aoZfr3TVggxvEkf/Qme+7yQR1Yd4LIZadx/0SS/JPmi2la+t2ILKdEh/PGb0yXJCyH8Ss7oj/Pq1hLufXMvSyYm8ciyqZhMvk/yDpeb7/xzE812B+/ceiqx4UE+b0MIIY4nZ/QeT68r4Kf/3cmCnHj+dtUMv1x4dbrcPLO+gCN1bczPiWf0iEiftyGEECca9mf0Wmsefv8AT3ySx7mTkvjLlTP8MnhYW4eTH7+wjY8PVHP62ETuvXCiz9sQQojODNtE73ZrthTV8891+azaW8m352XywCWTMfuhu6ampZ3rn93MntJGfnvZZL49b6TP2xBCiK4Mu0Rf0Wjn3xuLeHVbKaUNNkKtZu48dxw/OiPHLxdeNxfWccu/t9Ng62D5d2azeGKSz9sQQoju9JjolVIhwKdAsGf9V7TW9yml4oCXgCygEPim1rq+k+1/AtwAaGA3cJ3W2u6rL+Ctkvo2Hl11gLd3lePSmkVjErnz3HEsmZhEeLDvj3eNNgdPryvgiU/ySIsJ5alrFjA5Ldrn7QghRE+8yXDtwFla6xallBVYp5R6D7gc+FBr/ZBS6m7gbuCu4zdUSqUBtwITtdY2pdTLwJXAs778Et1xuNw89tFhnvgkD6Xg2gVZfHd+lt+m3Wu2O3hmfSFPfZZPk93JeZOS+e1lk2U0SiFEv+kx0WutNdDieWn1LBq4BDjD8/4KYC0nJPrj2ghVSjmAMKCsTxH3QkWjnZv/vY0tRfVcODWFXyydQFqMfyYMqWqy8+Sn+by8uZjmdidLJiZx++IxTEqVs3ghRP/yqs9CKWUGtgKjgce11huVUkla63IArXW5UmrEidtprUuVUo8CRwAbsFprvbqLNm4EbgTIzMw8qS9zvA15Ndzy7+3YHC7+cuV0Lpme1ud9dkZrzavbSrn/rb20tDu5ZHoq3180SrpphBADhleJXmvtAqYrpWKA15VSk73ZTikVi3Hmnw00AP9VSl2ttX6+kzaWA8sBZs+erb2Kvgtbi+q57pnNZMaF8Y+rZ/qtXr213cmt/9nOh/urmJEZw4OXTJYEL4QYcHp1FVJr3aCUWgucB1QqpVI8Z/MpQFUnmywGCrTW1QBKqdeABcDXEr2v5FW38L0Vm0mJDuHFG0/xW994VbOd65/dTG55M/deOJFrF2T55U5aIYToqx5v/1RKJXrO5FFKhWIk7/3AW8A1ntWuAd7sZPMjwClKqTBl1C6eDeT6IO5O1ba0c83Tm7CYFCuun+u3JP/JwWqW/uUz8qpaeeq7s7n+1GxJ8kKIAcubM/oUYIWnn94EvKy1flsp9TnwslLqexgJ/QoApVQq8JTWeqmnL/8VYBvgBLbj6Z7xh399UURpg43Xf7SQkfHhfmnj5S3F/PyVXQD86X+mMXpEBLYOF6FBvr+bVgghfMGbqptdwIxO3q/FOEM/8f0yYOlxr+8D7utbmD1rd7r48weHAJieEeO3dt7eVX70+U9e2nn0eXJUCCPjw8hOCGdkfDhZ8WGMjA9nVGK4X4ZUEEIIbw27O2P76omrZ1JQ00qjzUGTzUmTzUFlk53C2jaKalv5ILeKmpb2o+ubTYrRiRHMyIxh5shYFo1JICXaPyWeQgjRmSGT6IMtZi6YksK2I/Vorf0ynAFAWJClx9r4lnYnRbWtFNS0cqCimd2ljby3p4IXNxcDxi+O8ycnc/7kFL/duCWEEF9Sxv1QA8vs2bP1li1ber3dy5uL+fmru/jF+eO5aYBNsu12a/KqW1iTW8l7uyvYXdoIwKmjE7j+1CzOHDfCbwcnIcTQp5TaqrWe3elnQynRu92aW17czju7yvnB6Tn89JyxWP0wrrwvFNe18dbOMv71eREVTXbOmZjE75dNJSZMJiIRQvTesEn0AHaHi9+s3Md/Nh1hWno0v7lksl8vzvaVw+Xm2fWF/H7VfkYlRPDWLQsJtsjFWyFE73SX6Afm6W4fhFjN/O7yKTz2rRmUNti59PH13PHSDg5XNfd3aJ2ymk18/7RR/Ol/pnOgspkHVu7r75CEEEPMkLkYe6ILp6Zy+thEHv84j6fXFfDa9lLGJ0cyLzuOMUmRpMeGkh4bSlpMmFc18K3tTj45WI3L7Z9fQLYOFwAvbDzCqaMTOH9Kil/aEUIMP0M20QNEhli5+/zxfO/UbN7cUcrHB6p4eUsJNofrK+vFhwcRHWbF7da4tMbl8jy6wa01Lrem0eYIWNxv7iiTRC+E8Jkhnei/lBgZzA2LRnHDolG43JqqZjul9TZK6m2UNtgormuj2e7EbFKYTQqTUphNYDaZjEel+PI8/lvzMrH4ebiD9FgpuRRC+M6wSPTHM5sUKdGhpESHMjurv6MRQgj/G3IXY4UQQnyVJHohhBjiJNELIcQQJ4leCCGGOEn0QggxxEmiF0KIIU4SvRBCDHGS6IUQYogbkKNXKqWqgaL+jqMbCUBNfwfRS4MxZhiccUvMgSExf9VIrXViZx8MyEQ/0CmltnQ1HOhANRhjhsEZt8QcGBKz96TrRgghhjhJ9EIIMcRJoj85y/s7gJMwGGOGwRm3xBwYErOXpI9eCCGGODmjF0KIIU4SvRBCDHGS6LuglJqulPpCKbVDKbVFKTXX8368UupjpVSLUuoxL/bzM6WUVkolDPSYlVIPKqV2ebZfrZRKHQQxP6KU2u+J+3WlVIy/Y/ZR3FcopfYqpdxKqYCU2/kg5jil1Bql1CHPY2x/xez57BdKqcNKqQNKqXO72H6aUupzpdRupdRKpVTUIIi5y+1PmtZalk4WYDVwvuf5UmCt53k4cCrwA+CxHvaRAazCuPkrYaDHDEQd9/xW4IlBEPM5gMXz/GHg4cHw7wOYAIwD1gKzB0nMvwfu9jy/OxB/1t3EPBHYCQQD2UAeYO5k+83A6Z7n1wMPDoKYO92+L4uc0XdNA18e/aOBMgCtdavWeh1g92IffwJ+7tlXIPQpZq1103EvwwlM3H2NebXW2ul5+QWQ7q9AT2yavsWdq7U+4N8Qv94sffs3fQmwwvN8BXCpH2I8Uacxe2J5UWvdrrUuAA4DnZ35jgM+9TxfA3zDj7F+qa8xd7X9SRt2c8b2wu3AKqXUoxhdXAt6s7FS6mKgVGu9Uyn/TiZ+nNvpQ8wASqnfAt8FGoEzfRpd526njzEf53rgJV8E5YXb8V3cgXI7fYs5SWtdDqC1LldKjfBxfJ25nc5jTsM4sH+pxPPeifYAFwNvAldg/Mr2t9vpW8xdbX/ShnWiV0p9ACR38tE9wNnAT7TWryqlvgn8E1js5X7DPPs4x1exHrdvv8T8Ja31PcA9SqlfADcD9/UxZL/H7GnjHsAJvNCXWE/Yp9/j9rVhFHNnZ0+d/QK9HvirUupe4C2gYxDE/MMutj95/u6vGqwLxhntl/cZKKDphM+vpYv+TGAKUAUUehYncARIHqgxd7KvkcCegfznfNw61wCfA2GD4d/HCeutJXB99H2KGTgApHiepwAH+itm4BfAL45bbxUwv4d9jQU2DfSYe/p7OplF+ui7Vgac7nl+FnDI2w211ru11iO01lla6yyMn2gztdYVvg/zK046ZgCl1JjjXl4M7PdRXN3pa8znAXcBF2ut23wcW3f6FHc/6WvMb2EcVPE8vumjuLrTVcxvAVcqpYKVUtnAGGDTiRt/2b2klDIBvwKe8HvEfYy5m+1PXiDOJAbjglGFsBXjKvlGYNZxnxUCdUALRhKf6Hn/KTo5O/OsH4iqmz7FDLyK0ae5C1gJpA2CmA8DxcAOz+L3SiEfxX2Z57N2oBJYNQhijgc+xEg8HwJx/RzzPRiVKwfwVKl0EvNtwEHP8hCeM+UBHnOX25/sIkMgCCHEECddN0IIMcRJohdCiCFOEr0QQgxxkuiFEGKIk0QvhBBDnCR6IYQY4iTRCyHEEPf/Ad2a+2vjMz9uAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "oceanTracts = [1193,1343,558,54,578]\n",
    "for t in oceanTracts:\n",
    "    x,y = tractGeom[t].exterior.xy\n",
    "    plt.plot(x,y)\n",
    "    isSkippedTract[t] = 1\n",
    "                \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "d63968a2-afc1-4913-863c-4c415fb9c0b8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "looking for tracts with zero area\n"
     ]
    }
   ],
   "source": [
    "# For potential later issues, identify and visualize zero-Area tracts.  See Ohio code for more code\n",
    "isSkippedTract = [0]*nTracts\n",
    "print(\"looking for tracts with zero area\")\n",
    "for m in range(nTracts):\n",
    "    if(tractArea[m] == 0):       \n",
    "        x = tractGeom[m].centroid.x\n",
    "        y = tractGeom[m].centroid.y\n",
    "        print( m,tractPop[m],\"(\",x,\",\",y,\")\" )\n",
    "        x2,y2 = tractGeom[m].exterior.xy\n",
    "        plt.plot(x2,y2,c=\"purple\")\n",
    "        #print(tractGeom[m])\n",
    "        plt.scatter(x, y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "72abde7f-085d-4c0a-abe3-29e8d6203b40",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>DISTRICT</th>\n",
       "      <th>CTYSOSID</th>\n",
       "      <th>PRECINCT_I</th>\n",
       "      <th>PRECINCT_N</th>\n",
       "      <th>CTYNAME</th>\n",
       "      <th>CTYNUMBER</th>\n",
       "      <th>CTYNUMBER2</th>\n",
       "      <th>FIPS2</th>\n",
       "      <th>G20PRERTRU</th>\n",
       "      <th>G20PREDBID</th>\n",
       "      <th>...</th>\n",
       "      <th>G20PSCRMCD</th>\n",
       "      <th>G20PSCDBLA</th>\n",
       "      <th>G20PSCLWIL</th>\n",
       "      <th>R21USSRPER</th>\n",
       "      <th>R21USSDOSS</th>\n",
       "      <th>R21USSRLOE</th>\n",
       "      <th>R21USSDWAR</th>\n",
       "      <th>R21PSCRMCD</th>\n",
       "      <th>R21PSCDBLA</th>\n",
       "      <th>geometry</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>215122</td>\n",
       "      <td>215122</td>\n",
       "      <td>122</td>\n",
       "      <td>FIRST AFRICAN</td>\n",
       "      <td>MUSCOGEE</td>\n",
       "      <td>106</td>\n",
       "      <td>106</td>\n",
       "      <td>215</td>\n",
       "      <td>238</td>\n",
       "      <td>668</td>\n",
       "      <td>...</td>\n",
       "      <td>251</td>\n",
       "      <td>587</td>\n",
       "      <td>44</td>\n",
       "      <td>230</td>\n",
       "      <td>589</td>\n",
       "      <td>222</td>\n",
       "      <td>599</td>\n",
       "      <td>239</td>\n",
       "      <td>564</td>\n",
       "      <td>POLYGON ((-84.96984 32.46725, -84.97031 32.467...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>215108</td>\n",
       "      <td>215108</td>\n",
       "      <td>108</td>\n",
       "      <td>ST MARK/HEIFERHORN</td>\n",
       "      <td>MUSCOGEE</td>\n",
       "      <td>106</td>\n",
       "      <td>106</td>\n",
       "      <td>215</td>\n",
       "      <td>3243</td>\n",
       "      <td>1676</td>\n",
       "      <td>...</td>\n",
       "      <td>3268</td>\n",
       "      <td>1456</td>\n",
       "      <td>122</td>\n",
       "      <td>3071</td>\n",
       "      <td>1484</td>\n",
       "      <td>3055</td>\n",
       "      <td>1499</td>\n",
       "      <td>3112</td>\n",
       "      <td>1397</td>\n",
       "      <td>POLYGON ((-84.96552 32.53259, -84.96852 32.532...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>057031</td>\n",
       "      <td>057031</td>\n",
       "      <td>031</td>\n",
       "      <td>R T JONES</td>\n",
       "      <td>CHEROKEE</td>\n",
       "      <td>28</td>\n",
       "      <td>028</td>\n",
       "      <td>057</td>\n",
       "      <td>1021</td>\n",
       "      <td>513</td>\n",
       "      <td>...</td>\n",
       "      <td>998</td>\n",
       "      <td>461</td>\n",
       "      <td>60</td>\n",
       "      <td>891</td>\n",
       "      <td>455</td>\n",
       "      <td>879</td>\n",
       "      <td>467</td>\n",
       "      <td>902</td>\n",
       "      <td>434</td>\n",
       "      <td>POLYGON ((-84.46579 34.25122, -84.46545 34.251...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>057033</td>\n",
       "      <td>057033</td>\n",
       "      <td>033</td>\n",
       "      <td>SALACOA</td>\n",
       "      <td>CHEROKEE</td>\n",
       "      <td>28</td>\n",
       "      <td>028</td>\n",
       "      <td>057</td>\n",
       "      <td>454</td>\n",
       "      <td>69</td>\n",
       "      <td>...</td>\n",
       "      <td>419</td>\n",
       "      <td>61</td>\n",
       "      <td>17</td>\n",
       "      <td>419</td>\n",
       "      <td>69</td>\n",
       "      <td>421</td>\n",
       "      <td>68</td>\n",
       "      <td>416</td>\n",
       "      <td>64</td>\n",
       "      <td>POLYGON ((-84.53036 34.38103, -84.53047 34.380...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>01506</td>\n",
       "      <td>01506</td>\n",
       "      <td>06</td>\n",
       "      <td>CENTER</td>\n",
       "      <td>BARTOW</td>\n",
       "      <td>8</td>\n",
       "      <td>008</td>\n",
       "      <td>015</td>\n",
       "      <td>2312</td>\n",
       "      <td>568</td>\n",
       "      <td>...</td>\n",
       "      <td>2230</td>\n",
       "      <td>516</td>\n",
       "      <td>107</td>\n",
       "      <td>2026</td>\n",
       "      <td>507</td>\n",
       "      <td>2019</td>\n",
       "      <td>511</td>\n",
       "      <td>2032</td>\n",
       "      <td>478</td>\n",
       "      <td>MULTIPOLYGON (((-84.65788 34.14247, -84.65830 ...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 50 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "  DISTRICT CTYSOSID PRECINCT_I          PRECINCT_N   CTYNAME CTYNUMBER  \\\n",
       "0   215122   215122        122       FIRST AFRICAN  MUSCOGEE       106   \n",
       "1   215108   215108        108  ST MARK/HEIFERHORN  MUSCOGEE       106   \n",
       "2   057031   057031        031           R T JONES  CHEROKEE        28   \n",
       "3   057033   057033        033             SALACOA  CHEROKEE        28   \n",
       "4    01506    01506         06              CENTER    BARTOW         8   \n",
       "\n",
       "  CTYNUMBER2 FIPS2  G20PRERTRU  G20PREDBID  ...  G20PSCRMCD  G20PSCDBLA  \\\n",
       "0        106   215         238         668  ...         251         587   \n",
       "1        106   215        3243        1676  ...        3268        1456   \n",
       "2        028   057        1021         513  ...         998         461   \n",
       "3        028   057         454          69  ...         419          61   \n",
       "4        008   015        2312         568  ...        2230         516   \n",
       "\n",
       "   G20PSCLWIL  R21USSRPER  R21USSDOSS  R21USSRLOE  R21USSDWAR  R21PSCRMCD  \\\n",
       "0          44         230         589         222         599         239   \n",
       "1         122        3071        1484        3055        1499        3112   \n",
       "2          60         891         455         879         467         902   \n",
       "3          17         419          69         421          68         416   \n",
       "4         107        2026         507        2019         511        2032   \n",
       "\n",
       "   R21PSCDBLA                                           geometry  \n",
       "0         564  POLYGON ((-84.96984 32.46725, -84.97031 32.467...  \n",
       "1        1397  POLYGON ((-84.96552 32.53259, -84.96852 32.532...  \n",
       "2         434  POLYGON ((-84.46579 34.25122, -84.46545 34.251...  \n",
       "3          64  POLYGON ((-84.53036 34.38103, -84.53047 34.380...  \n",
       "4         478  MULTIPOLYGON (((-84.65788 34.14247, -84.65830 ...  \n",
       "\n",
       "[5 rows x 50 columns]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Now, let's read in the voting data  \n",
    "VTDdbf = gpd.read_file(\"state_map_files/ga_vest_20.dbf\")\n",
    "VTDdbf.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "4f3b9ddb-b971-472c-a353-521377f95e46",
   "metadata": {},
   "outputs": [],
   "source": [
    "#VTDdbf = VTDdbf.to_crs(tractPopFile.crs)  #MD's precinct file in wrong CRS\n",
    "#VTDdbf.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "3fe4ceba-8077-4485-ad0a-f8f2a5755040",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2679 0.498716661561674 4936344 = number of precincts, statewide GOP vote, total Trump+Biden votes\n"
     ]
    }
   ],
   "source": [
    "# Pull VTD geopandas data columns into arrays\n",
    "vtdGeom = VTDdbf['geometry'] \n",
    "# vtdGeom = VTDdbf['geometry'] #can't use VTDdbf because it uses alternate coordinate system\n",
    "vtdTrump = VTDdbf['G20PRERTRU']\n",
    "vtdBiden = VTDdbf['G20PREDBID']\n",
    "\n",
    "nPrecincts = len(vtdGeom)\n",
    "stateGOP = np.sum(vtdTrump)/(np.sum(vtdTrump) + np.sum(vtdBiden) ) \n",
    "print(nPrecincts, stateGOP, np.sum(vtdTrump) + np.sum(vtdBiden),\n",
    "      \"= number of precincts, statewide GOP vote, total Trump+Biden votes\" )\n",
    "vtdTrump = vtdTrump.to_numpy()  #these two lines try to avoid pandas complaints when we overwrite precinct data\n",
    "vtdBiden = vtdBiden.to_numpy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "c5c57f52-b8d2-4ef4-9d02-2429ed5e59da",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAABMI0lEQVR4nO3dd3hUVfrA8e+Zmt57QgihI70pTYo0e127a9kV3bWuve2K7upa1l11dVUsP107FtauoDSR3muAEJKQRnpPpp7fHzMEkDQgyYTwfp5nnrnl3HvfezN55869556jtNYIIYTougy+DkAIIUT7kkQvhBBdnCR6IYTo4iTRCyFEFyeJXgghujiTrwNoTFRUlE5JSfF1GEIIccJYt25dsdY6urF5nTLRp6SksHbtWl+HIYQQJwylVFZT8+TSjRBCdHGS6IUQoouTRC+EEF2cJHohhOjiJNELIUQXJ4leCCG6OEn0QgjRxXXKevQniqrqNMrLVmJel02Ru4CY8ecQGTERkynQ16EJIUQDSfTHyOmsYvXqs/GrcRHxgD8mYOc/v8MvahCjRn2BUsrXIZ60amr2kJP7PhUV6zAZg4iKOoPIyEkEBHRHKaOvwxOiw7V46UYp5aeUWq2U2qSU2qaUeuxX8+9RSmmlVFQTy2cqpbYopTYqpbrE4661tZmsWn0uADaDAUNwPP5j/oBbhVBVvY1t2+9i//6vcbttPo705KK1i7XrLmXlqunk5LyDy1WP3VHK7vQnWLlqGmlpj/g6RCF8ojVn9DZgita6WillBpYppb7TWq9USnUDpgHZLaxjsta6+HiD9TWns4Zt2++iuPjHhmnR94VSNPlu4iNeZcCSIjaO9Wc/X7J//5cEBfalb9/HCQsb6cOouz6Ho4Ls7NfJ3vcmbrcdgEEDXyYgoAd7M1+mpmYXADGxZ/syTCF8psUzeu1R7R01e18H+h/8F3DfIeNdWnX1DoqLfyQwsDdhpuHMrzCx8JwebK1dxbfhm/mXawpl786kqtLfU75mJ+s3XInDUdGhcbrdTpYvn8zKTXdS5XR16LZ9IX3PM2RmvYLJFEbfPo8zedJ2oqOns2r1WbxeaOUdwx/pd8qrhIYM8XWoQvhEq2rdKKWMSqmNQCGwQGu9Sil1HpCrtd7UwuIamK+UWqeUmtXMNmYppdYqpdYWFRW1Nv4OU1WdRm7uhwDU1Oym3LmecUZ/4k/NxHjJL7xU9iLBEd3YPSQE59ZzAIiMnES/fk9iMoV0aKylpT/zef0gLii9jt4/byFu0UbiFm1kXUVNh8bRURLiLwYMWCwRREdPx2CworWbIqKZq65ivj6D77c9xZKlQ30dqhA+0aqbsVprFzBUKRUGzFNKDQYeBqa3YvFxWus8pVQMsEAplaa1XtrINuYAcwBGjhzZ6X4hpKc/RWnpz4dNM7j9iAwr4p3d1/CMfpVXIwqYmVSDpSyF006dT2BgT5/EGhl5Ou4IoOzw6ZdsTGfvxK53VhsaOpxhQ99m85abWbf+MoYN/S8Gg5loirhUv08q6aSQyYABz/k6VCF84qjq0Wuty4HFwPlAD2CTUioTSALWK6XiGlkmz/teCMwDRh9XxD4SEjzosPGAgJ74h3h+edzc4w0SLfvJ8XPyS7WJ0OQS7PYiXC7f3IxVysiDA8Z74jQaGB8WRJjJyLuDU30ST0eIiBjHsKH/xeEoY/mKiaxY6TkHudi0kKsG/ZEpk9OJj7vAt0EK4SNK6+ZPnpVS0YBDa12ulPIH5gNPa62/PqRMJjDy1zdclVKBgEFrXeUdXgA8rrX+vrltjhw5Une29ui11tjthVitsQDs3PUYOTn/ZY6+lStzviSom+d+tGWHwt7fc0yNxgAGDXqFyIjxPov7ZFNdvZMNG6/D4Sijd68HiYs7H7M5zNdhCdHulFLrtNaN1vxozaWbeOAd5amAbADmHprkG9lYAvCG1vosIBbPpZ4D2/qgpSTfWSmlGpI8QE7OfwF4rl8sdckzsJVuprqukNBTh+GwVFFUvACXq5aNG6/ljCl7fBX2SScoqC/jxy0DkDrzQni1mOi11puBYS2USTlkOA84yzucAZwQF4XdbjdKqaN+0Gnnzj8DYDD4o5SivuYHqJGHpXxJErwQhzspnozVWpNdb2ddZS2nhQaS4GcBoLKykuLiYpKSknjyyScBuO+++wgICGhxnRNP30hJyRKqa3YTFjqcyMiJR5RxOqswGoPadmeEEOIotXiN3heO9xp9pdPFtuo60mrq2VFdx/ziSgrsDgC6GYz8u8DAwCEx/OOjlxtd/qGHHsJisRzz9ltrY+FGluctZ0ryFPqE98GlXWwr3sa2km2YlIm+EX0ZEj1EmlMQQrToeK/Rn1A+yi/hzrR9DeMhJgOjQ4P4U2QsufV23tyzn0ui4LZFe3CjMDTyrFdWVha9e/dus5iq7FUoFEGWg2f3X+75koeXPQzAK5teASDIHES1o/qwZZ+d+CwzU2a2WSxCiJNPl0v06bUHqzQOCfZndGgg5wUYifQ3kpqYwPXKnzvW7uFf/fyg3/nMWvIFBjQBAQHU1tYCnks9bWnW/FlsLdkKwMSkiSzJWQJA/4j+XDPgGh5a9hAA01OmMz5xPP0j+lPtqOY3X/2GSltlm8YihDj5dLlE/0jPBL4oLMfPoNheUcu2FbksSssisb6IW5nHq5OvIjsiBZM7DqfBRFZkHD1K8jGbzXTv3p2hQ4e26dk8wO8H/Z47F99JgD2EX7JWgBH8Tf68f/b7mA1mhsUMw+62kxp6sJ57Wb3naSen29mmsQghTj5dLtEDrBkzAIBlG3dT/t499KzIA+DbIT0Z/tX3PLRpDwbgzjsuZ2q/87DvK6c8Ko7Lz+qDv6nxGhtaa1yuGrR2YzYfXZMGExMmcW/eS1RluTDGbEZHfsGIj/P5TD3G5Vf+jWj/WO76/kWWFXxPnGUQn1z6BArPdXl9cjQjJFrgtrtw5FbjKKrFWVSHfV8VgaPiCBwR2/LC4qTXpRJ95bffYk5MxG/gQOo2bCDy6muIBFzdumHcd/C6fXFEP7YOvo3rf/iMos1lPHFpBGBjxZKvebG/DYslmuqaXTgdFURGTsLlrqW8fA1ZWa9iMoUx8fR1rYone3sJ89/Yhq3WidNgxxG2jKEjP6RKBXHp6c/BZtgb+x2fZL6Ew5SNNinydAHjPl6A2R0FBjCoztcJmNvtpLxiDTn73qGoeAExMWcxaOC/fR1Wl+QoqqVmZT416wrR9d5fd0YFLo09sxJ7ZiVh56WizFKlVDStyyR67XaTe9fdR0y39OxJyocfYLAY8TtzHPX5NhZO8tS2KYm7GJSdHvWZ7PVLobtaxI60rw5bPiv7tcPGQ0OHHrENl6ueffveorpmF3V1OdhsBVgsEbjruxExsBxHbSRVi7cybmE+/M8C2OECz7KvLXADf+SGGWU8ePoVzF7yHxZmL6JaeR6yqqrtXDVuMjKeZ2/m4Um9sPBbXK5nMRr9fBRV1+KudVD83+24yupxVdjBqPAfGEXA0GjMsYEYw6y4qx2UvLedmjUF1G0rJv6R01CGzvVZEZ1H5ztdPEbKYMAYfWTfJ86CArKuvoZ9t96JwxEMwIAdbwNQbt1PnMHC7GXV/D3rUc7Ck+RDDaMYP34VFkv0EeuLjJx0xLSKinXsyXiO/fu/orJyA0oZcbsdONRGAmN38MKACYzbmn/YMn4c3g7OXyZfjdlo5Ikpt7Hius95atTn1OVcRWrAuGM5HO0mK/v1huE+fQ72QbNnz7O+CKdLsnnP1F0Vnrb1QyZ3I3RmCv79IzFF+KEMCmOIhfCLPPeSrL3CJMmLZnWZM3qA3kuW4K6sxBAUhLveRuXXX2FL34MjJwdnYSGBo0cTNHkyvU+fwOTQUL57dQvd0ssIc3XnlLR72NntelCa+OBLMRr8Oe3UHwDYvuM+aqp3MXz4B1itR7TbRmjocEKCB1NZtdkzoTyLpOxa0rsH4fD3p5RIzn/2NZIL8rhs2zx+F/QDw9zprHCfwhjDNva5o6modVDncBEdbMVoUNTUWnBWDaJvTGRHHsIWud317KYPs9XfeXHXjRyIrrEvQHFs/AdEEnfPSKrXFFC3oZDKH7Op/DEbY7iVyGsGYEkIwr6viuJ3t2MIMBF2fi9fhyw6uS6V6JXBgDEsDABjkInwyy9vtvzMG08h98+/gBv8hoSD0gQbh1Du/wtpS+89rGxo6Ej8/OIbXY/R6M+IEXOpq9uHxoUjeylhq+/i5j6Ps1adxuP6fjICe/J2r1kUx9+AbWkYffyr6MMa7lWv8Tvb3Qx5fD4AAxNDeOy8geRX1ANgMXXMjy6tdasfzCognjBdRj6JjO1zJzExM7FYOtcX0onOFOVP2Jk9CJ2RgmN/LfXbiqn8MZvCFzdgSQ7Gnl2FIcBE9KzBGAPNvg5XdHJdKtEfLXt2Fbg9w3VbyggJPpXqoI1UFXj6UrFa40hKvAaAiIixza7LYDATGJiK1pp9gZv4ZWQKV/JfAnUN8eTSk3Sm6R8orUtkW8AUFGAJDGVQyetoFL8f34NQfzPvrcri4leWN6w3p6yO2JD2vfadtjKfn97eAcBpF6QyYmZKk2UnjF9F/5LF3GqG0NC3pWXIdqYMCkt8IJb4QKx9wil+fYvncws4a2y8+9RdXP33f2Hxb7nZDnHyOqkTvaV7CJFX90dZjJgTg+gWOAG7vZS9mS+Sk/MusbHnkJJy81Gts7x8F2+9tRWlzmP8hA+YxX8Om2/1O/jk6y2zbuCh0NDD5l8/vgezv9zGp+tyAEiJbJt/YGdREbsnnI4pNpakl1/Gf+ApAOzPrmxI8s66lSz7eDPDZ9zR5Nm9xRJFQvwlbRKTODrW5BAS/zqO+sJKiv+5ie3lKykrz0V1wppZonPpkm3d+JLT6eRvf/sbAElJ2+iRur7RclMmp3doGzaF/3qektc8NYhq/aPxv/+P+FnC+O4HEygDWruxlT8PwE23PkDQBGlDvzOrLi0hJ20bkYndiO7ew9fhiE7gpGrrxtdMJhMPPvgg3333HRs3QmVlNEOG/nBYmYGnfNiQ5Mvyc1n5+ccog4GC7GxKMnbx7M2eL4pb37uJCdMTiP2PjcTH7iNo4sRj/nLQDk+jbm5lYvmIW7DPexeAb8ZmcuGO5zEoA+agiwkp/YUdt93IyA3bpTG1TiwoIpJ+Y0/3dRjiBCGJvh1YrVbOP/98IiMjKS0tZW9GGHZ7MSGhpzFo4AhiYw820b9n7Sq2L12IBpQKxmIMYOv8cxh9xlxCXJOI27KIwFMGk3PzH6gMTqag26n0mj2JUwZPaXTbO0t3klaaxjmp52A0HHyIJubuuyh96y0M2klgQChu90jC9n9DZQA8F1bNw2FxbIlOZ5FpFWAi/l+DeGGOC/8ZM0h54XkA6qoqMRjNpK8rZdVXe0kZFMmUa/q345EUQrSFFhO9UsoPWApYveU/1Vo/esj8e4BngehfdyXonT8TeAEw4ul56qk2ir1TU0oxYcIE79j5TZarq646OKJt2F123skYSob1TF4w/pMfi2dg0HZ6xFexLcaG0c9E6d/voP/7GzAYPH8+W3o6Geec27CaJTMMPDL8Eb44/wtSwzzt5yijkf5pnmvxntQ8E60f5bfeWH/M+pEXF3/ZsI7gOs979fIVADgdDv7z+ysBMPlPwuQ3nB2/5EuiF+IE0Jq7ODZgitZ6CDAUmKmUOg1AKdUNmAZkN7agt/vBl4EzgQHAFUqpAW0Qd5ex+n+fABASGYVy1TdMv8L5IAaT54Ett7KQFllJVE0FrvrVVJ+uyM19r6Gsu/7wh6+mbXBjVEaiAo58gOxQB3rUWllezb37wqgNnkGipTsppQMJd53LB2f/idSffgbAaDp4TmCxlpM6LJpZLx7Z2YoQovNpTVeCGjhQVcTsfR24g/sv4D7giyYWHw2ke7sURCn1EZ7T2+3HEXOXctmjT7H43TeISOxGZXQhgandsHYfhfWHhwhL+YropHBy0kdQX2akODCQweE2tizpxi11lawetpFgRyX/cG9lxtKl1Hz3LfVbtjDzmWc409D6mhi37cgm32GCgCtwWQy8MyoJ57YtJJx9Osqb4JVS/O7FNyjJyaLniFPb63AIIdpBq67Re8/M1wG9gJe11quUUucBuVrrTc3ctEsE9h0yngM0miWUUrOAWQDJycmti74LSBowkKv//vxh07TWGN2ZhOacTty2GzgF2Bc/is11bnYRhDUMNgV6rr+fuXgpK+tqWVP9MDts4wgfNJI/19vpHtD6uvffjujN77ZmsnnuLnYDVaN70ev8I+8BhMXGERZ75JPBQojOrVWJXmvtAoYqpcKAeUqpwcDDwPQWFm3sG6DR+pxa6znAHPBUr2xNXF2VUorkbr/Dtt3RMK2bXyjd/OCLcgfpJheq0MGY+nT+8Pn7TH7lQ08h78OpX69K47sRfRgW0ro6+NEWM18O780PQaG88/NeEsL823qXhBA+dFS1brTW5UqpxXguv/QADpzNJwHrlVKjtdYFhyySA3Q7ZDwJyDuuiE8SvXs/hKuHA9v2Mhz5tZQvymJrrabG4uKi2GsZ1escErLOJGDSI/xr5zYeSR1Ajfng9+qn+SWtTvQHzOgTw4w+MW29K0IIH2tNrZtowOFN8v7AVOBprXXMIWUygZGN1LpZA/RWSvUAcoHLgSvbKviuzmgyEzA4BgZDVfca1r58JZcusAOhqN4uUk6JgjCILzZgrynFr6ieS8t/wRQ8lj+Oy4W+3VrahBDiJNCaM/p44B3vdXoDMFdr/XVThZVSCXiqUZ6ltXYqpW4FfsBTvfItrfW2tgi8K9lWvI3Hlj9KjbOOYEsw2VXZTOs+jcfGHmwGOLFPf2+S94ipqADAYd6ExfJXblA9qTZMINztxpL9KpxxS4fvhxCic5ImEDqBh/40nGu+q+NvlxrY0sPAhVkXYXKDdc8mUs8I4dyrnsNqjabopZep/P577OnpAHw1+T7uiP0zlyUGssdiYcvebBbkD2dzeSDKaOSuD5qqDCWE6GqkCYRObsJWTxOaj8x1M/fSi8EAFxu+xtKtisULu/Fz8mlEx5xBwmWXkHzzzfR+5PuGZae7o3kjP5M9Fk9TtelVnvesq2/t+B0RQnRKkug7gTE3PcLyZ/7DF/1OZ1ntQO5d8wFPjzibq89+n7jMQkr2Gnjb3Y31xQaqDVuYPNzAkvWeL4efdiYCiSiD5sIb/4p7ogEr8HU/aehKCOEhib4T2PnlfO6ecAt1Zj+SKws4df8OtuR3Y37WxQQVGBk7ei7XG9/met7G78dwVu6Oo/i0mZRFRqP3euqwarfi7tf+Qq+QEYyInAo/bMY9ewwGP/kTC3GykyzQCWyL60OdwfOAU2FkApdf8Afc/eaAUlxaezp7vxxKzws3AqDLPc0dTFn5PQn+lViCwxgSv4ufbT2ItFsYZJmAinMR2Lc7qg16pyr8xz8oeeNN0lPPJzt5Or99cizBEdIJuBAnEkn0ncCFj95O3eps6uwuHC43GUVBrEQxswJKSWb40PW43ZpJ1Wdgvmoo41xOHLlbsZz2MHX70+n/eQQYYHvYdeh7/0lgYM+j2v7OgipmPL8UM07e+t1YJvQ+2Cl6yRtvApCd7Hk2Lnt9LqdMPbr1CyF8SxJ9JxAeaOGWyb/u4HnLIcP3HzZHARbgl33Lubh6ID0HVDFA++P/28JjakN+b3E1qSqPhdZ7+MP/3cGEJx9vmBdy1plUfvsdl4zehzGpO5FnpB71+oUQviXVK49RXr2dpWVVBBmNxFnNjAwN7NDtV1VV8erPs3jO3/Ml8HxcFvuqd3HvqHtbWPJIbrfmozX7mLrwHKqv/p7UbgltHa4Qop01V71SEv0x+KyglL+k51HicB6c6HDzdf8eEGwm0d9CvNXSrjEsWLmZVT9+iH9EMdVF8Thw80XKF2y5ZDEERrbrtoUQnY/Uo29DufV2btnhaX7/4dR4nsjIB8BvYT6XLMzHMTCMqUPieWdQ+17i6Nu7J7f971RCa+oYb97LVNN8xhQWs/bLrRSWh7NjyROga/jNoy+SPKD9L7c43ZqMOht9Aj03aufMmUNebi5nhIfT2+kk7p57qHPWYVImzEZzu8cjhDhIEv1R2lZd1zB8IMkDOLsFYiyqxx1hpc7lbpNtud0ag6Hxa+4JoW5enn43f1r5JJ9VDuHiK64httLJ9/+3F62LQNcAsPrLrHZP9Fpr7kjL5rP9ZZwTHcrdcQH06/53Ru0w4PexhTIguuxvTE/tR7nJE1dqaCofnfMR/iZpKVOI9nb89e9OMtMiQ/h2eG+uiI84bLpzQBjjL+yD9jextKy6iaVb718LdpH60LekPPANn67LAcDhcLB37162b9+OUgFERU3l9TPeZ9GtirH9u5E0KImBExNJ6rULCMAcdAUBwe3fWOibucV8tr8MgO/2F9P/pT6cvqKU/rq8oYx2q4YkD5BRkcE3Gd+0e2xCCDmjb5WaNQVULd5H9M1DMAZbGB4ayPDQQP7Vz9NByrdF5byRU0z2r7r0O1abc8p54afdDeP3fLKJ1IgANn35JVllmbg1XHb9VfQ75UUqXnqVjHee4OvhZfzhlcuYeEVfKgpD2bP2G1x1nzDtxo/bJKbm/HXPwS+TQUVpDcN+YU76XZqH1mAwwoa92TzW7Xf8z7QAgKnJU9s9NiGE3IxtUfm3GVQvzW0YVxYDxnA/rKmhBJ0WjykqAGU8+iqNzXG63Pz+v2tZvLOIa07rzrsrMjlXWbhBOfjCuoaV0VZygz5gXK2JO16oZ8e4C9jczcp7p06n2i+AgslD2zSelryRU0RGrY2eAVYM9U6uf69fo+XqXcModvyVpcHr2Dwoh6fO+0eHxilEVya1bo6R1prcB5dRY3Tw/JhN3LTLQFTh8MPKGMOsRP52AJaEoDbf9sA5Z2Pw20d1+r2YHZHMxp+ysGUsTISkig8Y7OrDjPx7qQ/KZmnIqyy1FvN9r/8jb8wIDAE+vOGpNbaSbGwvTeDHfYnsrY4kOmYwpwy5gH5DkvEfGIXBX35MCtGWmkv0co2+CTn7y5l7/nXU7X6fF1LqmBc4mc+Heh5iir53GNGzBgPgKrdRt+XX/a0cu5rVq6nbto1Vewsx+Hm62zWHrcUOPEQdz5aPYFBaEeHFl6OKPU+rTq0O452gEtb5mbh+88soXydRpbBGdSdkdjaWIVcTmnAjVY6prFxbzba336bwuadx5Oa2vB4hRJuQ06pG2Jwu/jn7SS4uz2ddgD8jN65EG5I5K/NiAPY8/xOuYAjHc0N2256ljLYnYLIce915t9vFone2kraqmpTMuYTnLyFmzB/JiApDO0O4yvgjKYZiPut/HYaEPzB9w038vceN/CU4kPgV+ZSn388TUXOY/vtXPb3ytu3VpGNSnFNF1vb+h01LK4sl+KdnsKWl0f29d30UmRAnl9Z0JegHLAWs3vKfaq0fVUr9FU/fsW6gELhOa31EFQ9vN4NVgAtwNvXTojMprbFzR9APGMe+hKV2Lz/v/5SHdx/sB91q88doMzb8HtqxYjGhpyRyysQzjmo72u3G6bCzb9sW5j39GNbQW1AGK1XB3Rk85B/cXbIel3qbc/1WNiyTUbiLTxy1OI11rAoeBAbF6Cgrt2SGElL4FMVPrgcg6akJx38gjlNIlD8pg6MwWwwkJ4Hr9WcwbFsDQNCUKT6OToiTR2vO6G3AFK11tVLKDCxTSn0HPKu1/jOAUup24C/AzU2sY3Ij/cl2WrHBfvxsiSWuvoKcmjQ0bj7NfI6kwCQumvMCymBAaze15eW8c99t1Nsryd6yscVEn7drBzuWLWZ/Rjr5u3ceMd9W8TIWp5H47BxUz+dRVivnGlceVubSpAF8XbOWlNpgjFnVuHoEc29WxGF/SHNi294vOFYWPxNn/3HwwQkz/+u7YIQ4ibWY6LXnbu2BiuFm70trrSsPKRaI54JBl2AwKCY+MR+A0D19yXjoT7i0k5DRfXA5HZitfmgN7z98F/VVlQyZdibDzjyv2XU6bPV8+OeW26Gxm1ysTY0nJ6Cc8x79HTW23xCY8T3sWQin3sSw5NO4fd5ktjr6sv3K0wj1M+Oe6MZgkNstQojGtarWjbdj8HVAL+BlrfX93ulPAL8FKvCctRc1suxeoAzPF8FrWus5TWxjFjALIDk5eURWVtYx7VB72PD9Vyz8v9caxi9++K/s+HkR25cuBODuj5vsK/0w2Vs3sT8jnaCISNAa7X0ZTSYCwyMICImhJF+za9V+pl4/AL9AaSpACNE6bVa9UikVBswDbtNabz1k+oOAn9b60UaWSdBa5ymlYoAF3mWXNredzlK98lClebms/OxDdq74GbfL1TB9yvU3MWzmuT6MTAgh2rgevVLqUaBGa/2PQ6Z1B77RWg9sYdnZQPWhyzamMyb6A2rKy/j23/8gvnc/xl9+ja/DEUII4Dhbr1RKRQMOrXW5UsofmAo8rZTqrbU+8Jz+eUBaI8sGAgatdZV3eDrw+K/LnUgCw8L5zZ+f8HUYQgjRaq2pdRMPvOO9Tm8A5mqtv1ZKfaaU6ounemUW3ho3SqkE4A2t9VlALDDP2+uRCfhAa/19O+yHEEKIJrSm1s1mYFgj0y9uonwecJZ3OAMYcpwxCiGEOA5SJ08IIbo4SfRCCJ/694Z/c+P8G6l31vs6lC5LEv1JpDO2VCpObt9mfMuczXNYmb+SOxffidPtbHkhcdSkUbMuTmvN/r/+lbIPPgTA3D0ZS/fuWFN74jegP8psBmUgYNRITJHSqbhoJzXFkL8R9q2B4l1QVwoVOdwfYm8o8kvuL9y04CZemfoKFuOxNxAojiSJvgvTWpPWf0DDeNCkSSg/P+xZWdSuXIW2H/wn2x8TQ9W99zBt2jT8/Px8Ea7oimpL4b2LIG9Do7O7hfVln/tgP8yrC1aTVprG4OjBjZYXx0YSfRdW/O9/NwwHjByJtW9fcLsJHDcWa48eFC+aS82bXwEQW1hI0dvv8L3LxQUXXOCjiEWXU7Cl8SSvjKBdfDruGdaYFXGBcawvXE+vsF6S5NuBJPouzH/YwVqxdVu2ULthAxzSfAOAy2Bh7fB76Lv7YyIri9lXUQGAdrmoWbmSsnffQzudaJuN+L8/iSUpqUP3QZzgUifCLath81z4+R9w2i0w9EqI7gdGEwHARG/RvhF9fRlplyZdCXZx2um5uaVMJrTLhT0rG9wuatevp/CZZ3BV17Jo0ktE25cz4u5exAacyvIv8tidZuP0n+/G5DpYEyJoyhQSnvo7xpAQX+2OEKIJx9UEgjixKdPBP7EyGrGm9gDA2qsX4ZdeSk7uB/RNuxGloFvCcvaMmcTuSS8DUBw5kKG3nIs5IYF9N95I9cKF1KxcScj06Y1u60SnXS6U0dhiOafTya71a+k/6lS8T30L0anJGb1o4KqqYteo0WgUNYHxBNbkeWriaI2rtJSoW24h6tZbumxy29GvPzajgY2nDqGkppJu/QcS37c/ZouVxP6nULg3g53Ll5Kf7uk0pqbHAKzhkaSmpnLmmWcSFNQ5OnwRJyc5oxetYgwOJv7JJymfOxe1cSMBo0ZRu2YNprg4kv/vLQLHjPF1iO3mwAmP3WSkpMbTp86+HVvZt2Nrk8v45WYQ028AO3bsYNeuXYwdO5bx48djNks/AqJzkTN6IbwqvvqKvHvvI/H1OWTt3M7yJQuoth/+tOaoaWcz4YabWDzvE9bPfZe6hB70HD2WuuoKSnP3UE0gl1xyCQMHNttitxBtTs7ohWiFwPHjwWDAtmEjg26/jUG/vwmA0t27WPLPp8go2c+6H75iyzf/IyUxGbfBgH9eBi/vHs0y9/28YY7DL/s+dmxMl0QvOhVpAkEIL1N4OAHDh1P5zTdot7thekTvPlz4yltced9supVUUm8xk1aUz8+9z+WmAb8QEf8ELzkGYdlwOkr1IFyH+W4nhGiEJHohDhF22aXYs7KoWb7iiHnxI0cxIC7ZM+zfi0x7CPfERLHXYua1PhUkXrKQieN3MOXK0zs6bCGaJYleiEMEz5iBMSKCsvfea3R+vzfeYPzuEmrUSO4ikiFlf6KbK5JrM6dTueRRAn5Oo3TOa7gqKzs4ciGa1mKiV0r5KaVWK6U2KaW2KaUe807/q1Jqs1Jqo1JqvrdnqcaWn6mU2qmUSldKPdDWO9AeXC4XeXl5VHifEhUnD4PFQviVV1K9eDG29PQj5juLiuh+4dmMX/EEp/7vNq47axzfXLcI//yzydNJpO9xUfTCi1T+8IMPoheica25GWsDpmitq5VSZmCZUuo74Fmt9Z8BlFK3A3/B253gAd7uB18GpgE5wBql1Jda6+1tuRNtoaCggPz8fLTWrF69moKCAgBmz57t28BEhwu/6kpK3niDkjffIuHvT+KqrKRm+QrKPviA2tWrwWAg7NJLibr1FswxMVSVHqyZE3tKAmZ3AqHnnefDPRDicK3pSlAD1d5Rs/eltdaH/jYNBBqrpzkaSPd2KYhS6iPgfMDnid5ms/HJJ5+wf/9+/Pz8KCoqarKc1Wrt4OiOTaXTRVadDaNSKMCgFEYFBhQGRcM0A4cPv7g2k3e/3c0/bxzJGYkRGA4sj6egSSmshpPnKp8pPJywiy+m7P33cRTkU7tyFWiNuVs3ou+8k9ALL8AcG9tQPjjCj+ueGkdAqAWlpgCP+C54IRrRqnr03jPzdUAv4GWt9f3e6U8AvwUqgMla66JfLXcJMFNr/Xvv+DXAqVrrWxvZxixgFkBycvKIrKys49mvZtntdt566y0KCgoIDAwkICAAq9XKBRdcgNlsxu1288UXX5CZmQnAmDFjmDFjRrvFc7yqnC7ezyth9p68Y1revKYIY6kd++Bw3PEBjZb5z4DuXBQbfjxhnlDsOblknHsuymwm9LzzCJownsDx41vVRIIQvnDc9ei11i5gqFIqDJinlBqotd6qtX4YeFgp9SBwK/Dor7fd2Oqa2MYcYA54HphqTVzHKi0tjYKCAs444wwmTJhwxHy3282gQYMaEn2PHj3aM5xj5tKaCzeks7qipmHaH7pFMzI0ELf2zNeAW2tcgNbgRnvfQaM95XonUm53Emw2osG7jOfdpTVPZOSTUWvzyT7+mtYaXVeH8vdv16YYLEmJ9PllGcps9nTOIsQJ7KgemNJalyulFgMzgUOfDf8A+IYjE30O0O2Q8STg2E4721BtbS0AId5WGF0uF5mZmSz7aSl5RfnYHAc75Jg2bRp9+vTxSZytYTV4kl1PfyufDutJvLVte+apdbl5IiOfDZW1bbreY6GdTtIGDmoYt/brR49P5rZbIjYENP7rRogTTYuJXikVDTi8Sd4fmAo8rZTqrbXe7S12HpDWyOJrgN5KqR5ALnA5cGXbhH7sevfuzffff096ejpGo5FPP/200XIPPPBAp+5tyagUE8KD+bmsmt8mRrY6ybu05m978kirqeeq+EjGhgcRYfZ8FBxuzYryatZW1lDtdLOzxnOjcV+9vblVtitHQQHln31G+ScH/06muDhsaWlUfP0NYRde4LPYhDgRtOaMPh54x3ud3gDM1Vp/rZT6TCnVF89VgCy8NW681Szf0FqfpbV2KqVuBX4AjMBbWutt7bInRyEyMpLhw4ezfv16tmzZcti8maOnEJYaQ58+fTCcADcgC+0OAB5Nz+Oi2HCiLUee3RbaHFy2aQ+pAVYcbs38koP30ReVVgEwOjSQAIOBzdW1lDo8nZP4GRQBRgNnRoXyVJ+O7XCkvLycDRs2kJGRQeKiRXRfuw5TXByRN9+EbddulNlMVUEB+Q8+SOFzz9Hrpx8xnCA3zYXoaCd1o2alpaXYbDYCAwNxOBwEBATg7+/f7tttS9VOF6/tK+LZzAJ6BVi5Kj6SqZEh9A48+Etkc1Ut09fuAmBAoB8xFjPd/S1ckxDJotIqnsjIB2BwkD89A6ycGxPGpIgQAowd+0XncDhIS0trSPDgubxW6X346OIFKwmf8DBby5aRUbSSsbv2YHV6vpR6/7wUU3R0h8YrRGfS3M3YkzrRdxVVThcXbkhna7Wnk+UIs5Ht4z3XsrXW/COzgOcy93NtQiRP9+3W3Kp8ZtOmTcybN++wab169cJisbB9u6c27lkhvUgo7E6prYAFee8A0DM2kTPvvB9ramqHxyxEZyKtV3ZxwSYjP47qy3VbMvi+uJJSh4t7d+7jodR4Ht+Tx4f5pZiV4sqESF+H2iT3IY2IJSUl4Xa7yc7Oxm63YzQaufXWWwkPD6d6fwkf3/50Q9n8+hoMSYm+CFmIE4ac0Xch5Q4ni0ur+LGkkk/3l2FWCofW9Av049OhvYiynFjf6y6Xi+zsbMxmM0mHdErudruw19ZhMBkxWSwYDFK3XQg5oz9JhJlNXBAbzpnRoURaTGTX2bk2MZIJ4cEYT8Du/4xGY6PPMBgMRvyk2z4hWk0SfRdkNRh4rJdczhBCeHT++oNCCCGOi5zRC1wuG7m571NU/COhocOIipqC0eCH01lNePipvg5PCHGcJNGfpNxuJ9n73qSmeifFJQtxOj0PTpWXryIr69WGcvHxl9C/399RSn78CXGikkR/kqqq2sqePc9grXcTajMRbkwhdMCNWKKHsWLtmeC9eZuf/yl+1gR69Li9XRsRE0K0H0n0JxuXAzZ9iHnfj4zYU05YpdM7oxDWe6q0jkjsRugN68FgZPOWP7A380XKy1cTFT0VgzJTXbMLW30+0dHTKCtfRXj4GBLiL/HdPgkhmiX16E82a96Ab+5uGC3vORDDKZfgLs9E560lKHM7ZqebsjGXED7jTbR2kZn5H3JyP8BuL2xytcOG/peIiHEdsQdCiEZIEwjioNmhnvf7M8HkD+bDW+fUbjfq8XCcRkXNpD8QNOo+jH7haO3G6azE7bZjNodSX59HfX0eJnMoW7feRl3dPuLiLiAmeiaRkZMwGOTHohAdqblEL3fYThbl2fDRVZ7hU28G//AjkjyAMhioiAjB5NKE/vQfqlb+1TNdGTCbw7BaYzAYrAQE9CAiYhwhwQMZPeorwsJGU1Awj81bbiI39/2O3DMhRAsk0Z8MNs+F5wfB7gUwdTZMf6LZ4mryww3DAcv+j5K3h1P6xUU4awoaLW8yBREbc3bDeHz8RW0SthCibcjv65NBwWbP+21rISy5xeIhA2+irDIH9q0gMGs7kZl7IHMPuyqGsz+1O6EhQ+jb9zGs1oMdZEdFTWanpyVkbLb9mEzB7bEnJy2ttdR6EsdMEn1XVV8JK14GRy1kLIbAmFYleTZ/Ap//nkO7AdcobBHR2FP6YbFAUfEC7PZiRo482OOTn19Cw/DKVTMYMuRNIiNOl/r3beCf83fy4sJ0wgLMvH39aIZ2C/N1SOIE0+J/oVLKTym1Wim1SSm1TSn1mHf6s0qpNKXUZqXUPG/H4Y0tn6mU2qKU2qiUkjusHWXezbDkKVj+IhTvhm6jW7fct/ccMUndtg6/23cz8PSvGqpRutxHdhY+ZfKuhuFNm37HwkW92bDht2jtPqKsaB2XW/PiwnQAymsdXPDyL1TbnC0sJcThWnNGbwOmaK2rlVJmYJlS6jtgAfCgt7vAp4EHgfubWMdkrXVx24QsWmXnN573sbfB9L+1frlL/wsL/wY5qw9O+/dwMPmhDQbCzDb8Tgkhqa/nxm5FyV7qa0tx2mvYte11nFYLJvPB/mVLy35h2/L7GTju2bbYq5PK+6uyeHje1iOmf7gqmxtPl45WROu1mOi1p/5ltXfU7H1prfX8Q4qtBOSJmc7kwjkwbxYs/zdMfQxa22Z76kTPC0Br2LsEsleBowaW/5tgu5tT15ah193M5j73UhR9SIfkQZ4PVH19AMXF3TEaXISEFhJRck6b715Xp7Xm4Xlb6aX28aP1fq6yP8gvbk+vYeV1vuuoXZyYWnWN3tsx+DqgF/Cy1nrVr4rcAHzcxOIamK+U0sBrWus5TWxjFjALIDm5FdeSRfOGXAa562D1a/B4BEx5BE6/9+jWoRSkTvK8gNrk/rgWPIJ/RRlmh4vYonpyLOEEWybhHxCD2RqKZhjzf55PrfZcFUyIjyd+1uk4HQ5M5iM7LheNc7o1UUFWxoU9zaDgZD7MfY4LK99g6sAkbpvS29fhiRPMUT0w5b0OPw+4TWu91TvtYWAkcJFuZGVKqQStdZ5SKgbP5Z7btNZLm9uOPDDVRmqK4d0LoSwLFPBA9nGvsjZrE843zybEUMXuYXfT+/y/HFHG7Xbzyp03U1NehsFWh9lixWm3EZ6QxLCZ5zBshpzht9Z7X/+Op0tWs2LQPQQNv9bX4YhOrM0emNJalwOLgZneFV8LnANc1ViS9y6T530vxPMl0cq7guK4BUbBzT/DgHOhvgL2bzuu1VVuWwRvTses68k7/eVGkzyAwWDgmj//DaOtDgU47Z4bt2V5OWz4/uvjiuFkc/U5b7Ll2i2S5MVxaU2tm+gDNWqUUv7AVCBNKTUTz83X87TWtU0sG6iUCj4wDEwHjry7JNpX8ljP+ytj4bl+8PoUKEw7qlWUrPgE68eX4HZD9fnvkjDl6mbLB0dFc9bt9xIcGQ1A0oCBjLnkCi56YPax7IEQ4ji05hp9PPCO9zq9AZirtf5aKZUOWIEF3gc5Vmqtb1ZKJQBvaK3PAmKBed75JuADrfX37bEjohnDroLC7bDiJbbZivlffT2/WfokfQZdCWZ/SBl/2M3aql0rKVn9P9z1tbgddRhsFSSXLqDaHQDXzCO6b8s/ynJ3bOPbF58lJqUnZ956F90GDGrPPRRCNKM1tW42A8Mamd6rifJ5wFne4QxgyHHGKNrC5IcgbjCXb/RUtbQX/MxjW7/wzLvk/6DH6WA0g9GC6b3zSDEcXk++WMXg94dvCUps3Y1Ak8VTGycyqRvBEVFttx9CiKMmT8aeLCyBMOQyHqCCLze/xQ21lRCaDBXZ8On1hxX1N0C2dSiJs97GYAlAmaxE+YU2dEbSGrE9ezNw8jS2LlpAUXYm1z77UlvvkRCilSTRn2SuGjKLq4bM8oy43ZD2NdSVejokcdnBZWfZR+9gGnUhyZE9jnk7Simm/v4Wsrduxmk78ilaIUTHkUR/MjMYYMB5h01yOZ2s+vdPjA2KbWIhT5n0NSvJ2rwei78/9dXV9BkznqT+A7H4+eN2uVj4f6+RtWUDlUX7mfTbG9t7T4QQzZBELw7jsNUDYKutpSQnG//gEAJCw9ifkU7mpvWs/PzjhuqSZqtfQ/ltS37CYDTiHxxCTXnZYetMGTq8Y3dCCHEYSfTicN6nIdZ9PY91X88DwOR94OmA3qeO5ZSJZ5A6bBTKYMBWW0tB+i72bd/CqnmeB6QNRiODzpjJKadPITKxW4fvhhDiIOlKUBwhf/dOqktLqK2soCgrA601Fv8A+o+fRHRyCsrQ9OMXWmvKC/IIi0uQ9tOF6EDNPRkrZ/TiCPG9+x7zskopwuMT2zAaIcTxkl4hhBCii5NEL4QQXZwkeiGE6OIk0QshRBcniV4IIbo4SfRCiJNazfZCKrbl+jqMdiXVK8VJbeeKn3Ha7YTFJeB2Oako3I/Z6kdgeDiJfQfIswBdnKOghrL/7gTgjb03ARDXqw/22lqqy0owWaxY/P2xBgThFxSENSCQqpIi8nfv5NQLLwMgslsyAcGh+IeE4B8cgtnqB4AyGLD4+VFdVkptRTnhCYlY/Px9sp+S6MVJqzQvl6+ff7rJ+ZN+eyMjzj6/AyMSHc0UE0C+yiS3aGfDtIL0XQ3D/cZNxF5Xh62mmvqaaiqLiyjLywFoeAq8OQajEbfL5RlRioj4RPqMGU+vkacRm9poS+/tQhK9OOloh4u67aWoagfB5kiqHCWYDVbMBiu1zkoAorv3IDa1p48jFe1NGRSj/n4No4CirL2s+/YL6iorKCvIpywvhx0/L2b6TbfRffAw/INDAM/T31q7QUN9TTV1lZXUVVZQW1VBfVUV5fvzCQyLwO1yUlddRUhUDAEhIZTk7CNnx1ZWfvYRKz/7iIiEJK775ysd8quxxSYQlFJ+wFI8vUmZgE+11o8qpZ4FzgXswB7gem+fsr9efibwAmDE0/PUUy0FJU0giPZUs34/ZXMPnrW5YsBY6BmucpQSNbkPERNSMYZafRSh8DW3y8Xar+fx8wdvHzb9zvf/h9F0fOfHNeVlvHrTNQCkDBnO2Xfch19g0HGtE5pvAqE1iV4BgVrraqWUGVgG3AGEAAu11k6l1NMAWuv7f7WsEdgFTANygDXAFVrr7c1tUxK9aE/Vq/Mp/zwd/6HROHKqcZbWgQYnDizxQbjzbCiLgfhHTsNgMba8QtFlOWz15GzfyudPzW6Ydt49D9N71JjjWm9hZgbv3n87AEoZGDx1JuMuu7rhV8OxaC7Rt1jrRntUe0fN3pfWWs/XWju901cCSY0sPhpI11pnaK3twEeAXPQUPuXXNwLlb8K+t5KQGd1JfHwcSX+fQMrfp5Bw+2iCJiSi7W5wun0dqvAxs9WPHsNGcvfHXzP5Ok+HPV/+4wnK8o+vlk5MSip3ffglp118OVq72bTgW/7z+yvJ3rq5LcI+QquqVyqljEqpjUAhsEBrvepXRW4Avmtk0URg3yHjOd5pjW1jllJqrVJqbVFRUWvCEuKYmEKtRF1/CgZ/I6Xvp5H7yC/kPLSMnAd+pvi/2zEGe/q7xSA1bsRBw888j8se89y8f+vOm6irqmyyrOc6fgtXSwwGxl16Nbe/+1nDtE/++lDbBPsrrbrYpLV2AUOVUmHAPKXUQK31VgCl1MOAE3i/kUUb+09pdO+11nOAOeC5dNOauIQ4VtbkEGJuG07N2gJsu8qo21bimd4j1NPFIqDljF78SlK/UxqG//P7Kxk4eTrRyd3J2bGNktx9lObuIyKxG6W5nvPb6557hcik5vtjKMvLJTa1F/sz0jn1wkvbJe6juqugtS5XSi0GZgJblVLXAucAZ+jGv75ygEP3MgnIO8ZYhWhTVYuyqfwxu2FcWYwET0ikfpenh6zyrzKIvKKfr8ITndTNr73Lgtdfwu1ysW3xj54aOIc4kOQBPn3iEVKGjCChbz+MJjPlBXkYTWb2bd/C/ox0XE4nDls9ASGhnHPnA/Q5bVy7xNxioldKRQMOb5L3B6YCT3tr09wPTNRa1zax+Bqgt1KqB5ALXA5c2TahC3F8nMV1DcOGQDPhF/UGwK9POAB1m4pwTOmGOTbQJ/GJzikwLJwL7v0zABWF+ynLzyUwLBxrQCDWwECsAZ7PS/bWzaz7Zh7pq5ezddH8w9YR1a07fU4dh9nfH7+AQIbOOAe/oOOvedOU1pzRxwPveGvQGIC5WuuvlVLpeKpcLvDWA12ptb5ZKZWApxrlWd4aObcCP+CpXvmW1npb++yKEEfHkhJC7cYiYm4bhiXx4D9ZfXo5AMpswBgmVSxF00JjYgmNiW10XvLAwSQPHIx2uynNz8XtdGKvqyMsLp7AsPAOjVO6EhQnLXteNYUvbgAg4rK+WHuFUbt+PxXfZQIQc+tQLEnBPoxQiNY7ruqVQnRV6pA68qUf76Typ2xsGRUN0xz5Nb4IS4g2J4lenLTMUf4kPDaGmFuGAlCzMh9lNWKKCQAgYETjP8mFONFIohcnNYPVhKVbMIGnxWOK8seRVwMuN359wxuvHCzECUgaNevitMOBs6QEc1ycr0Pp1MIv6LiWBIXoaJLouyBnWRl5r8/hq4xR+NUVMXb1Y/Ra+BPm+HhfhyaE8AFJ9F2MdrvJOPc8nMXFMGkU9f7RoDW2XbuaTfRut2brklyKsiuJiA+i72lxBIRYOjByIUR7kUTfxSiDgcDRo6n89ltmVr1D/XpPNVVTdHSzy837xzoKMg623bH883SueWIMpbk1hMUFEBBsweIvHxchTkRSj76L2jPzTFyVlQRNnEjFvHkARN9xO1F/+EOj5efcsQSHzcUNz47nh9e3krur/Igy/cbEMf43vbEGmNszdCHEMWiuHr2conVRxshI7JmZDUkeoGb16kYTfV2VHYfNxehze+AfbOH8O4exL62UyuJ66qvtZGwspii7irQVBRiMBiZfLe2/CHEikUTfRSW98Dy2PRngdqFdbnC7sPY7MkHv3bC2oVOFmvJ/AJ7u1ZIHRDaUGTotmZpyGx8+thpbraND4hdCtB1J9F2UKSoKU1RUi+WqSoq9QwbS1xXSe1QsCb3DGvqxLM2r4cPHD3Y/EBLpm17shRDHTq7RC+z1deSkVfHzx7upLrNhshoJifQDPJd16qo8Z/Fn3zKYhN5hWPzk/ECIzkau0YtmWfz8SR3qT7cBkexcWUBhViW2GicoiIgPpL7GQfeBkaQMavkXghCi85FELxqYLUYGnp5IE709CiFOUNLWjRBCdHGS6IUQootrMdErpfyUUquVUpuUUtuUUo95p//GO+5WSjV6A8BbLlMptUUptVEpJXdYhRCig7XmGr0NmKK1rlZKmYFlSqnvgK3ARcBrrVjHZK11ccvFhBBCtLUWE7321L+s9o6avS+ttd4BNNS3FkII0Tm16hq9UsqolNoIFAILtNarWljkUBqYr5Rap5Sa1cw2Ziml1iql1hYVFR3F6oUQQjSnVYlea+3SWg8FkoDRSqmBR7GNcVrr4cCZwC1KqdOb2MYcrfVIrfXI6BZaWhRCCNF6R1XrRmtdDiwGZh7FMnne90JgHjD6aLYphBDi+LSm1k20UirMO+wPTAXSWrNypVSgUir4wDAwHc9NXCGEEB2kNbVu4oF3lFJGPF8Mc7XWXyulLgT+DUQD3yilNmqtZyilEoA3tNZnAbHAPO8NWxPwgdb6+3bZEyG6IrcLsldCxT5AgcEIBhMYzZ53SyAkjwWDPBIjmiaNmgnRmS18ApY+03yZc/4FI2/omHhEpyWNmglxItIatn7qGb5ljeds3u30vlzgssP7l8DXf4L8TRCR6ilbtBMylsAfV4BfiO/iF52GJHohOquctVCaAWc+A9F9Gi9z61p44wxY9/aR8+zVkugFIIleiM6pON1zycbkB0Mub7pcYBTcvhEctVCYBm9M8UxPnQTB8R0RqTgBSKIXorPZvw1eGesZ7n8u+IU2X14pz03ZqvyD06b/zTNdCKT1SiE6n4wlnvdpf4Wz/3nE7FX5qxj+7nD2lO85ODF3Pcy9xjMclgzR/TsgUHGikEQvRGdTuA3MgTD2NgiKOWJ2WmkaDreDnaU7D07c9BFot2fYEuxZhxBekuiF6Ey2fg4b3gNHDZTtbbTItadcy5Zrt3BW6lkHJ064G2IHeYYLt8FrEzsg2Ka5XHUUFv7g0xjEQZLohegs8jfD//4AIYlwwasQ3qP1ywbHQt8zD47/9n9tHl5zqopKsGVno91u3G4HDyy5j2FbI3j57ql8+dyTvH7r73C7XR0akzhIbsYK0RmU7IEPLgX/cLhxkSdxHy2jxfP++4WQNKJNwtqeV8nyPcXU2FzU2p3U2J3U2l3U2JwUVdkor6zl3nlPklJRcNhyNwBF1/SksiiE3TnL2yQWcewk0YtO6bYNOymrquaVYX2oq6tDa01+fj5hYWGkpKT4Ory2t/p1T62ZEdfBji8PqTGjvMPe8QPDjc3f672JS9s87V5Z7+CSV5dTa/eciVtNBgKtJgIsRgIsRqKCrPQIMh6R5A+4/11Pn0Qlsx9k1by5LP7vGyT2HUBS/4EEhoW3SYyidSTRi07pk/I6wMhzzz13xLy77rqLkJAu9iBQbYnnvbEHn46Wreq4V1Frd/LywnRq7S7evn4UE3pHYzQcXl1z3aad1M66r9HlXUph9Dav0ue08eTu3M6Wn+az4buvUAYDyQOHYDAY6DNmAgMnTT3ueEXzJNGLTumRyt1kbk9vdN4///lPwsPDiYuL47zzzsPf37+Do2sHF74KM57Ac+buPSPX2jPc0B6VPjitqflGK4Qc/4NS1721htWZpQD0jg0+LMnf8+LnfJpnJbmygNcqPJ0EOW6excDbbsdgNDaUO9COllKKyx59CpfTSVHWXnavXk766hWU5uXgcrkk0XcAadRMdEo/LexJbW0I69ae3zDtT3/6Ey+99BIOh+OwsrNnz+7g6Lq+Bdv3c+N/Pf+DVpOBd393KqNSwvngm+U8vKwcgAvi6vnjpD70Gtgfg+nozxk/evQ+DEYTl/7lybYM/aQljZqJE4rWGrvNn8rKw3saMxgMPPzww+zcuZNvvvmGyspKunfv7qMou7ZpA2LZ8+RZrM8u4zevruDS11YQo6soVMEEuWtZNftcAgP8jmsbZj9/6qsq2yhi0RxJ9KLTUUpx5plbyc/PZ/cuzw29GTNmEBQUBEDfvn3p06cPWmsM0g57uzEaFKNSIrjq1GTeX5VNoacPIWLNzuNO8gAWP38qCvcf93pEyyTRi04rPj6eRx55BFMjlwWUUihpy6VDPH7+QAKtJuYszQAgungHOdu3EpvaC7PfsSf88PgEdq1cxrxnHmfi1b8jIiGxrUIWv9LiNXqllB+wFLDi+WL4VGv9qFLqN8BsoD8wWmvd6EV1pdRM4AXAiKfnqadaCkqu0QvR+WRl5bLg7TlUbF8HeC69TJt1K31PG3/YTdjWcjocrP/2C1bN+xin3cGwmecw5pIrsAYEtnXoJ4XmrtG3JtErIFBrXa2UMgPLgDuACsANvAbc01ii93Y/uAuYBuQAa4ArtNbbm9umJHohOq/aygrS16zkl4/fpbainMCwcCzemk/BkVGMPOciegxrNN80qqa8jF8+fpctixYQGhPLeXc9RExKanuF32Ud181Y7fkmqPaOmr0vrbXe4V15c4uPBtK11hnesh8B5wPNJnohROcVEBLK4DNmMGjyNLYu/pE961ZjsljQWlOYkc7nT80mKCISo8mEMhhQyoAyGDAYDI2PGxTKYMBktlCxv4B377+dyx59iqQBA329q11Gq67Re8/M1wG9gJe11qtauf5EYN8h4znAqUcVoRCiU1IGA4OmTGfQlOkN05x2O2u+/IyKwgLcbjf6kJfb7UZrjXa7fjXumR/Toyc15aVU7C+QdnHaWKsSvdbaBQxVSoUB85RSA7XWW1uxaGOn+41eK1JKzQJmASQnJ7cmLCFEJ2OyWBhzyRW+DkP8ylHVTdNalwOLgZmtXCQH6HbIeBKQ18S652itR2qtR0ZHRzdWRAghxDFoMdErpaK9Z/IopfyBqUBaK9e/BuitlOqhlLIAlwNfHmOsQgghjkFrzujjgUVKqc14EvcCrfXXSqkLlVI5wBjgG6XUDwBKqQSl1LcAWmsncCvwA7ADmKu1lq5vhBCiA0lbN0II0QU0V71Snh8XHea7N68n+y+9GP7Ah9jran0djhAnDUn0ot3VlNvYtyMbynNINhSRogrYtOA7X4clxElD2roR7WbhuzvY8Us+ABVh27D7jWMV4xhsrWLYmef5ODohTh5yRi/ahdaaHb/k47Lvxl7zHU5TxSFz3ZSVl/sqNCFOOpLoRbvRWuOo+Qq3fQeW/bsOm1dbK9fohegoculGtAulFLe+dgZrvqpg6XtvccPDs6WhKiF8RBK9aFejzr2IUede5JNtv//wXQyZdhZhMXEYTCaCIiKpLi0ma8tGNs3/FqPZzPgrrqX/uIk+iU+IjiKJXnQ52u1m0TuvU5C+i4L0XY2WSRk6gurSEr598VnKC/IYc7G0zyK6Lkn0osvJ2LCWDd9/ReqI0QydfjYGoxGHzUZVSRGh0bFEJCQRFhePw27j40cfYPnc94lISKLvmAm+Dl2IdiGJXnQpbreLrC0bAJhx8x0EhIQ2WdZssTL9ptt49/7b+fr5p9m7cR1B4ZEMmjKN0Ji4jgpZiHYniV50GQ67jW9eeJY9a1fS7ZTB+AcFt7hMTEoqN770Fj+99QppvyzB5XCwat7HAAycPI3J183C4uff3qEL0a6krRvRZXzz4rOk/bIEgN6jx2KyWjFbrJgsFs/LasV0yLhnnrVhntliZeviBWxd/CNOm61hvYn9TuHSB5/AnlOFKcofU9ixd4gtRHs5rq4EhThRxPXsTfG+LIwmE6V5OTjtNhw2G067HafdjtvlPKb1OrNqyJu9omE86PREws6SqqLixCGJXnQZI86+gBFnX9DkfLfLhdN+MPE77Dactl+NHzLfaatn78Z1xMSkwF7vSowKc3xQR+yOEG1GEr04aRiMRiz+AVj8A1q9zEgfPQMgRFuSJhCEEKKLa/GMXinlBywFrN7yn2qtH1VKRQAfAylAJnCp1rqskeUzgSrABTibulkghBCifbTmjN4GTNFaDwGGAjOVUqcBDwA/aa17Az95x5syWWs9VJK8EEJ0vBYTvfao9o6avS8NnA+8453+DnBBewQohBDi+LTqGr1SyqiU2ggU4ukcfBUQq7XOB/C+xzSxuAbmK6XWKaVmtUHMQgghjkKrat1orV3AUKVUGDBPKTXwKLYxTmudp5SKARYopdK01kt/Xcj7JTALIDk5+ShWL4QQojlHVetGa10OLAZmAvuVUvEA3vfCJpbJ874XAvOA0U2Um6O1Hqm1HhkdHX00YQkhhGhGi4leKRXtPZNHKeUPTAXSgC+Ba73FrgW+aGTZQKVU8IFhYDqwtU0iF0II0SottnWjlBqM52arEc8Xw1yt9eNKqUhgLpAMZAO/0VqXKqUSgDe01mcppVLxnMWD5zLRB1rrJ1oMSqkiIMs7GgUUH/2utbvOGFdnjAkkrqPRGWMCieto+Cqm7lrrRi+HdMpGzQ6llFrbGatldsa4OmNMIHEdjc4YE0hcR6MzxiRPxgohRBcniV4IIbq4EyHRz/F1AE3ojHF1xphA4joanTEmkLiORqeLqdNfoxdCCHF8ToQzeiGEEMdBEr0QQnRxnSLRK6WGKqVWKqU2KqXWKqVGe6enKKXqvNM3KqVebWL52Uqp3EPKndUJYopQSi1QSu32vocfb0zNxXXI/GSlVLVS6p4mlm/zY9VGcbX58Wrmbzj6kP3fpJS6sInlO/RYHUVcHfrZUkpN87ZVtcX7PqWJ5Tvy/7C1MXX0sYpUSi3yftZfamb5dvlsNUlr7fMXMB840zt8FrDYO5wCbG3F8rOBezpZTM8AD3iHHwCebs+4Dpn/GfBJU8ejPY5VG8XV5sermb9hAGDyDh9ovsPk62N1FHF16GcLGAYkeIcHArkd9dlqg5g6+lgFAuOBm4GXmlm+XT5bTb06xRk9nhYuQ7zDoUCeD2M54Hhjaq9mnJuMSyl1AZABbGujbR2N442rPY5XozFprWu11gd6CvfzlutIxxtXh362tNYbtLfNKjx/Qz+llLWNttneMXX0sarRWi8D6ttoO22jo75RWvh27I+nGYV9QC6eR3nBc/ZcA2wAlgATmvl2zAQ2A28B4Z0gpvJfjZe187EKBFYAQTRzttAex6qN4mrz49VUTN55p+JJENXAhZ3hWB1FXB362fpVmUuAHzvqeLVBTD45VsB1tHxG3+afrSa3154r/9WO/YinQbNfv84HXgQu9pa79MAfDU/3hZHe4RHegxrSyLpjOdgWzxPAW50gpmP+gB1jXP/A053jgQ9RUwn1mI5VB8R1TMfrWGL61fL9gdWAn6+P1VHE1aGfrUOWPQXYA/Rsy89WO8fkq2N1Hc0n+mP+bB3Lq91WfFRBQAUH6/QroLKJcouBkS2sK4VWXENv75iAnUC8dzge2Nmexwr4Gc8ZQiZQDpQCt3bEsWqLuNrjeB3F33BRR32u2iKujv5seceTgF14+pdozbra/f+wNTH54lh5p11HM4m+vT5bTb06yzX6PGCid3gKsBsamkg2eodTgd54rvUeRnnbxfe6kLZpCvm4YqIVzTi3ZVxa6wla6xStdQrwPPCk1vqIu/7tdKyOOy7a53g19TfsoZQyeYe7A33xfBEdpqOPVWvjooM/W8rTTPk3wINa61+aWriD/w9bFRMdfKxaqx0/W41rz2+Ro/h2HA+sAzYBq4AR3ukX47leuQlYD5x7yDJv4D3bAd4FtuC53vUl3m9wH8cUiafT9N3e94j2PFa/KjObQy6RtPexaqO42vx4NfM3vMb7N9zo/Rte0BmO1VHE1aGfLeARPPelNh7yiumI49UGMXX4/yGeL+dSPPdZcoABHfXZauolTSAIIUQX11ku3QghhGgnkuiFEKKLk0QvhBBdnCR6IYTo4iTRCyFEFyeJXgghujhJ9EII0cX9P/56ROMknU6rAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#ID the non-polygon PRECINCTS\n",
    "notPolyVTD = [0]*nPrecincts\n",
    "for p in range(nPrecincts):\n",
    "    if type(vtdGeom[p]) != type(vtdGeom[0]):\n",
    "        notPolyVTD[p] = 1\n",
    "        for geom in vtdGeom[p].geoms:    \n",
    "            xs, ys = geom.exterior.xy\n",
    "            plt.plot(xs,ys)\n",
    "        #plt.text(vtdGeom[p].centroid.x, vtdGeom[p].centroid.y,p)\n",
    "    else:\n",
    "        hi = \"hi\"\n",
    "        #x,y = vtdGeom[p].exterior.xy\n",
    "        #plt.plot(x,y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "ea498c6a-d054-409e-92fb-cda921e2911f",
   "metadata": {},
   "outputs": [],
   "source": [
    "#prep for geography triage\n",
    "#isSkippedTract = [0]*nTracts  #done above; already skipped two lakeshore tracts\n",
    "isSkippedPrecinct = [0]*nPrecincts  #will be used later"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "3ded1b1f-5629-4d8f-826b-e037e5dcb3da",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "working on tract 200\n",
      "working on tract 400\n",
      "working on tract 600\n",
      "working on tract 800\n",
      "working on tract 1000\n",
      "working on tract 1200\n",
      "working on tract 1400\n",
      "working on tract 1600\n",
      "working on tract 1800\n",
      "working on tract 2000\n",
      "working on tract 2200\n",
      "working on tract 2400\n",
      "working on tract 2600\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#build basic GA map\n",
    "tractMAP = tractGeom[0] #uncomment for first time thru loop  **************\n",
    "for t in range(1,nTracts):\n",
    "    if t%200 == 0:\n",
    "        print(\"working on tract\",t)\n",
    "    if isSkippedTract[t] == 0:\n",
    "        uncomment = \"if-redone\"\n",
    "        tractMAP = tractMAP.union(tractGeom[t])  #uncomment to build map  ********\n",
    "x,y = tractMAP.exterior.xy\n",
    "plt.plot(x,y)\n",
    "pt1 = Point(-81.15,32.2)\n",
    "pt2 = Point(-81.15,31.5)\n",
    "pt3 = Point(-80.8,31.5)\n",
    "pt4 = Point(-80.8,32.2)\n",
    "clipPoly = Polygon([pt1,pt2,pt3,pt4])  #clip eastern outcropping\n",
    "xc,yc = clipPoly.exterior.xy\n",
    "plt.plot(xc,yc)\n",
    "\n",
    "plt.show()\n",
    "wholeMAP = tractMAP  #in case we later slice parts out\n",
    "            "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "f33de347-5473-4b11-b3ae-86691b33098d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "I have flagged  59 tracts w pop 173372.0  to reassign to tracts...\n",
      "[230, 235, 240, 440, 442, 565, 1135, 1139, 1370, 1520, 2632]\n",
      "I have flagged  69 precincts to reassign to precincts...\n",
      "[661, 666, 789, 872, 876, 1321, 1323, 1682, 2247, 2399]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#find all tracts and precincts centered in this clipPoly, flag for cutting\n",
    "# and, ID all nearby tracts and precincts to receive their pops and voters\n",
    "\n",
    "cutTractList = [-99999]\n",
    "cutPrecinctList = [-99999]\n",
    "tractReceivers = [-88888]\n",
    "precinctReceivers = [-88888]\n",
    "popToCut = 0.\n",
    "for t in range(nTracts):\n",
    "    x = tractGeom[t].centroid.x\n",
    "    y = tractGeom[t].centroid.y\n",
    "    if tractGeom[t].intersects(clipPoly) :\n",
    "        CP = Point(x,y)\n",
    "        if CP.intersects(clipPoly):\n",
    "            isSkippedTract[t] = 1\n",
    "            popToCut += tractPop[t]\n",
    "            if cutTractList == [-99999]:\n",
    "                cutTractList = [t]\n",
    "            else:\n",
    "                cutTractList.append(t)\n",
    "            x,y = tractGeom[t].exterior.xy\n",
    "            plt.plot(x,y)\n",
    "    else:\n",
    "        if tractGeom[t].distance(clipPoly) < 0.05 :  # and tractGeom[t].centroid.x > -76.4 :\n",
    "            if tractReceivers == [-88888]:\n",
    "                tractReceivers = [t]\n",
    "            else:\n",
    "                tractReceivers.append(t)\n",
    "xp,yp = clipPoly.exterior.xy\n",
    "plt.plot(xp,yp)\n",
    "\n",
    "for p in range(nPrecincts):\n",
    "    x = vtdGeom[p].centroid.x\n",
    "    y = vtdGeom[p].centroid.y\n",
    "    if vtdGeom[p].intersects(clipPoly) :\n",
    "        CP = Point(x,y)\n",
    "        if CP.intersects(clipPoly):\n",
    "            isSkippedPrecinct[p] = 1\n",
    "            if cutPrecinctList == [-99999]:\n",
    "                cutPrecinctList = [p]\n",
    "            else:\n",
    "                cutPrecinctList.append(p)\n",
    "    else:\n",
    "        if vtdGeom[p].distance(clipPoly) < 0.05 : # and vtdGeom[p].centroid.x > -76.4 :\n",
    "            if precinctReceivers == [-88888]:\n",
    "                precinctReceivers = [p]\n",
    "            else:\n",
    "                precinctReceivers.append(p)\n",
    "print(\"I have flagged \",len(cutTractList),\"tracts w pop\",popToCut,\" to reassign to tracts...\")\n",
    "print(tractReceivers)\n",
    "print(\"I have flagged \",len(cutPrecinctList),\"precincts to reassign to precincts...\")\n",
    "print(precinctReceivers)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "33897c0d-3254-4a76-9b82-314a8f320eaa",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#clipPoly block 2 of 4\n",
    "#visualize the to-be-cut precincts, just to confirm there are really xx precincts up there\n",
    "for p in range(nPrecincts):\n",
    "    if isSkippedPrecinct[p] ==1:\n",
    "        if notPolyVTD[p]==1:\n",
    "            for geom in vtdGeom[p].geoms:\n",
    "                x,y = geom.exterior.xy\n",
    "                plt.plot(x,y)\n",
    "        else:\n",
    "            x,y = vtdGeom[p].exterior.xy\n",
    "            plt.plot(x,y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "e2595c62-579a-4af1-9552-0859524782be",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#clipPoly block 3 of 4\n",
    "#now visualize the receivers\n",
    "for pp in range(len(precinctReceivers)):\n",
    "    p = precinctReceivers[pp]\n",
    "    if notPolyVTD[p]==1:\n",
    "        for geom in vtdGeom[p].geoms:\n",
    "            x,y = geom.exterior.xy\n",
    "            plt.plot(x,y)\n",
    "    else:\n",
    "        x,y = vtdGeom[p].exterior.xy\n",
    "        plt.plot(x,y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "9e1d7fcd-cdeb-4317-9f89-5291a9595587",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#now visualize the TRACT receivers\n",
    "for tt in range(len(tractReceivers)):\n",
    "    t = tractReceivers[tt]\n",
    "    if notPoly[t]==1:\n",
    "        for geom in tractGeom[t].geoms:\n",
    "            x,y = geom.exterior.xy\n",
    "            plt.plot(x,y)\n",
    "    else:\n",
    "        x,y = tractGeom[t].exterior.xy\n",
    "        plt.plot(x,y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "d2622568-1fc9-4089-9ae4-2550ea6fbaaf",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "I have finished slicing  173372.0 people (VAP of 140039.0 ) and  85503.0 voters out.\n"
     ]
    }
   ],
   "source": [
    "#now, cut and redistribute\n",
    "cutPop = 0.\n",
    "cutVAP = 0.\n",
    "cutHisp = 0.\n",
    "cutBlack = 0.\n",
    "cutTrump = 0.\n",
    "cutBiden = 0.\n",
    "\n",
    "for ct in range(len(cutTractList)):\n",
    "    t = cutTractList[ct]\n",
    "    cutPop += tractPop[t]  #sum up the cut pops\n",
    "    cutVAP += tractVAP[t]\n",
    "    cutHisp += tractHisp[t]\n",
    "    cutBlack += tractBlack[t]\n",
    "    # Now we zero out the pops in the cut tracts\n",
    "    tractPop[t] = 0\n",
    "    tractVAP[t] = 0\n",
    "    tractHisp[t] = 0\n",
    "    tractBlack[t] = 0\n",
    "# Now distribute the pops among the receivers\n",
    "ntR = len(tractReceivers)\n",
    "NTR = float(ntR)\n",
    "for rt in range(ntR) :\n",
    "    t = tractReceivers[rt]\n",
    "    tractPop[t] += cutPop/NTR\n",
    "    tractVAP[t] += cutVAP/NTR\n",
    "    tractHisp[t] += cutHisp/NTR\n",
    "    tractBlack[t] += cutBlack/NTR\n",
    "\n",
    "#             now do the same for the precincts\n",
    "for cp in range(len(cutPrecinctList)):\n",
    "    p = cutPrecinctList[cp]\n",
    "    cutTrump += vtdTrump[p]\n",
    "    cutBiden += vtdBiden[p]\n",
    "        # Now we zero out the pops in the cut precincts\n",
    "    vtdTrump[p] = 0\n",
    "    vtdBiden[p] = 0\n",
    "\n",
    "# Now distribute the pops among the receivers\n",
    "npR = len(precinctReceivers)\n",
    "NPR = float(npR)\n",
    "for rp in range(npR) :\n",
    "    p = precinctReceivers[rp]\n",
    "    vtdTrump[p] += cutTrump/NPR\n",
    "    vtdBiden[p] += cutBiden/NPR\n",
    "print(\"I have finished slicing \",cutPop,\"people (VAP of\",cutVAP,\") and \",cutBiden+cutTrump,\"voters out.\" )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "84c2cf09-b3ea-4fc2-a55b-62985882836b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "working on tract 200\n",
      "working on tract 400\n",
      "working on tract 600\n",
      "working on tract 800\n",
      "working on tract 1000\n",
      "working on tract 1200\n",
      "working on tract 1400\n",
      "working on tract 1600\n",
      "working on tract 1800\n",
      "working on tract 2000\n",
      "working on tract 2200\n",
      "working on tract 2400\n",
      "working on tract 2600\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#rebuild tractMAP, excluding skipped / sliced tracts.  #NOT NEEDED FOR OHIO -- NO SLICED populous TRACTS\n",
    "counter = -1 #Watchout - low-number tracts may have been skipped\n",
    "found = \"no\"\n",
    "while found == \"no\":\n",
    "    counter +=1\n",
    "    if isSkippedTract[counter]==0:\n",
    "        starter = counter\n",
    "        found = \"yes\"\n",
    "\n",
    "tractMAP = tractGeom[starter]\n",
    "for t in range(starter+1,nTracts):\n",
    "    if t%200 == 0:\n",
    "        print(\"working on tract\",t)\n",
    "    if isSkippedTract[t] == 0:\n",
    "        tractMAP = tractMAP.union(tractGeom[t])\n",
    "\n",
    "if type(tractMAP) != type(tractGeom[1]):\n",
    "    for geom in tractMAP.geoms:\n",
    "        x,y = geom.exterior.xy\n",
    "        plt.plot(x,y)\n",
    "else:\n",
    "    x,y = tractMAP.exterior.xy\n",
    "    plt.plot(x,y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d4538dfc-7d35-46b4-95c1-c5d93169e971",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "d40408f3-31eb-4b8a-ad91-4e2eb5f422df",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 0.26269315673289184 906\n",
      "100 0.5349274583557228 3722\n",
      "200 0.7605144247480013 2877\n",
      "300 0.4270504731861199 2536\n",
      "400 0.9177215189873418 1264\n",
      "500 0.7812692544670363 1623\n",
      "600 0.09090909090909091 143\n",
      "700 0.42857142857142855 3465\n",
      "800 0.16117435590173756 1669\n",
      "900 0.06277056277056277 462\n",
      "1000 0.0 0\n",
      "1100 0.77130476649013 2077\n",
      "1200 0.5963302752293578 218\n",
      "1300 0.0 0\n",
      "1400 0.48002421307506055 1652\n",
      "1500 0.9306122448979591 490\n",
      "1600 0.0 0\n",
      "1700 0.03208852005532503 3615\n",
      "1800 0.5814713896457766 1835\n",
      "1900 0.690282131661442 1595\n",
      "2000 0.16943709860219117 5294\n",
      "2100 0.6050995024875622 1608\n",
      "2200 0.9320987654320988 162\n",
      "2300 0.8849693251533742 1304\n",
      "2400 0.21965952773201539 1821\n",
      "2500 0.19631901840490798 4401\n",
      "2600 0.5749625187406296 1334\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#ALL TRIMS COMPLETE. let's convert the partisan data to the format we use for HD code\n",
    "# in this prototype, we only use 2020 presidential data, but this could be modified\n",
    "vtdGOP = [0.]*nPrecincts  #Each precinct's R/(R+D)\n",
    "vtdPop = [0.]*nPrecincts   #THIS IS VOTER POPULATION\n",
    "vtdArea = [0.]*nPrecincts\n",
    "vtdCPx = [0.]*nPrecincts   #these are centroid x and y of each precinct\n",
    "vtdCPy = [0.]*nPrecincts\n",
    "plotcolor = ['blue']*nPrecincts\n",
    "for p in range(nPrecincts):\n",
    "    vtdPop[p] = vtdTrump[p] + vtdBiden[p] \n",
    "    vtdGOP[p] = vtdTrump[p]/max((vtdTrump[p] + vtdBiden[p]), 0.01)  #avoid divide by zero\n",
    "    if (vtdGOP[p] > 0.40) :\n",
    "        plotcolor[p]='purple'\n",
    "        if (vtdGOP[p] > 0.60) :\n",
    "            plotcolor[p] = 'red'\n",
    "    vtdArea[p] = vtdGeom[p].area\n",
    "    vtdCPx[p] = vtdGeom[p].centroid.x  #not needed except for graphing\n",
    "    vtdCPy[p] = vtdGeom[p].centroid.y   #not needed  \"  \"  \"\n",
    "    if isSkippedPrecinct[p] == 0 and p%10 == 0: #memory drain if we print all\n",
    "        plt.scatter(vtdCPx[p], vtdCPy[p], marker='.',c=plotcolor[p])\n",
    "for p in range (nPrecincts):\n",
    "    if p%100 == 0:\n",
    "        print(p,vtdGOP[p],vtdPop[p])\n",
    "x,y = wholeMAP.exterior.xy\n",
    "plt.plot(x,y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "a1e3f0d2-c21c-46d4-8227-e75dfd5e89b6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "original and final map areas are 14.793638927416024 14.6796701068295\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "MAP = tractMAP  #committing to the trimmed map (for TN, using convex hull)\n",
    "#bufferDistance = 0.02  #do minor buffer for OH\n",
    "origMAP = wholeMAP    # let's keep a copy of the original map prior to buffering\n",
    "#MAPbuffer = MAP.exterior.buffer(bufferDistance, single_sided=True)  #gives a little exterior buffer\n",
    "# MAP = origMAP.convex_hull  #alternate to buffer for weird state shapes\n",
    "bBox = MAP.bounds\n",
    "MAPMinX = bBox[0]  #these four are useful for slicing ops, and are basis for map grid (without buffer)\n",
    "MAPMinY = bBox[1]\n",
    "MAPMaxX = bBox[2]\n",
    "MAPMaxY = bBox[3]\n",
    "\n",
    "#MAP = MAP.union(MAPbuffer)  #not buffering for TN\n",
    "print(\"original and final map areas are\",origMAP.area,MAP.area)  #same if we didn't buffer\n",
    "x2, y2 = MAP.exterior.xy\n",
    "plt.plot(x2,y2,c=\"green\")\n",
    "x2, y2 = origMAP.exterior.xy\n",
    "plt.plot(x2,y2,c=\"blue\")\n",
    "plt.show()\n",
    "\n",
    "minTractPop = 10  #was zero to not exclude empty interiors"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "8e271f55-e118-4575-bc99-c28c59f435b7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2020 population, Trump+Biden voters, lean =  10711907 4936331 0.498716661561674\n",
      "compare to Census 10711908 Leip has Trump + Biden = 4935487.0 0.49880670337091354\n"
     ]
    }
   ],
   "source": [
    "#let's confirm some population stats - these match 2020 census, USelectionatlas.org :-)\n",
    "censusPop = 10711908\n",
    "atlasTrump = 2461854.\n",
    "atlasBiden = 2473633.\n",
    "\n",
    "print(\"2020 population, Trump+Biden voters, lean = \",np.sum(tractPop),np.sum(vtdPop),stateGOP )\n",
    "print(\"compare to Census\",censusPop,\"Leip has Trump + Biden =\",atlasTrump+atlasBiden,\n",
    "      atlasTrump/(atlasTrump+atlasBiden) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "6c47f717-f208-4a4c-b825-a3181a83c6ee",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "state pop before, after slice operation are 10711907 10711907.0\n",
      "state Trumpers before, after slice opn are 2461829 2461829.0\n",
      "state Bideners before, after slice opn are 2474502 2474502.0\n"
     ]
    }
   ],
   "source": [
    "#Check on integrity after slicing\n",
    "sumPop = 0.\n",
    "sumTrump = 0.\n",
    "sumBiden = 0.\n",
    "for t in range(nTracts):\n",
    "    if isSkippedTract[t] == 0:\n",
    "        sumPop += tractPop[t]\n",
    "for p in range(nPrecincts):\n",
    "    if isSkippedPrecinct[p] == 0:\n",
    "        sumTrump += vtdTrump[p]\n",
    "        sumBiden += vtdBiden[p]\n",
    "print(\"state pop before, after slice operation are\",np.sum(tractPop),sumPop)\n",
    "print(\"state Trumpers before, after slice opn are\",np.sum(vtdTrump),sumTrump)\n",
    "print(\"state Bideners before, after slice opn are\",np.sum(vtdBiden),sumBiden)\n",
    "for t in range(nTracts):\n",
    "    if isSkippedTract[t] ==1 and tractPop[t] > 0:  #should not occur\n",
    "        print(\"missed pop for tract, pop, (x,y)\",t,tractPop[t],tractGeom[t].centroid.x,\n",
    "              tractGeom[t].centroid.y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "b5334311-b597-4568-88c7-eb3c9d4bdf09",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "map has a total of 144 grids for 14 districts\n",
      "starting grid no 0 at x = -85.41725741666669, y = 30.54932141666667 \n",
      "starting grid no 5 at x = -85.41725741666669, y = 32.484965583333334 \n",
      "starting grid no 10 at x = -85.41725741666669, y = 34.42060975 \n",
      "starting grid no 15 at x = -85.04144224999999, y = 31.71070791666666 \n",
      "starting grid no 20 at x = -85.04144224999999, y = 33.64635208333333 \n",
      "starting grid no 25 at x = -84.66562708333335, y = 30.93645025 \n",
      "starting grid no 30 at x = -84.66562708333332, y = 32.87209441666666 \n",
      "starting grid no 35 at x = -84.66562708333332, y = 34.80773858333333 \n",
      "starting grid no 40 at x = -84.28981191666668, y = 32.09783675 \n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Input geom 1 is INVALID: Self-intersection at or near point -84.281015999999994 33.772047000000001 (-84.281015999999993937 33.772047000000000594)\n",
      "<A>\n",
      "POLYGON ((-84.2964699999999993 33.7779150000000001, -84.2948239999999913 33.7777940000000001, -84.2948149999999998 33.7784959999999970, -84.2948090000000008 33.7789179999999973, -84.2947789999999912 33.7798889999999972, -84.2948010000000068 33.7804730000000006, -84.2948319999999995 33.7807779999999980, -84.2948899999999952 33.7811759999999950, -84.2949139999999915 33.7813969999999983, -84.2949059999999974 33.7816419999999979, -84.2948769999999996 33.7818830000000005, -84.2948639999999898 33.7820040000000006, -84.2948149999999998 33.7822729999999964, -84.2947929999999985 33.7823390000000003, -84.2946910000000003 33.7826680000000010, -84.2944430000000011 33.7831610000000069, -84.2942369999999954 33.7834810000000019, -84.2937859999999972 33.7839949999999973, -84.2932619999999986 33.7845200000000006, -84.2927239999999927 33.7840369999999979, TopologyException: Input geom 1 is invalid: Self-intersection at -84.281015999999994 33.772047000000001\n",
      "-84.2921620000000047 33.7838139999999996, -84.2917190000000005 33.7835290000000015, -84.2916949999999900 33.7835150000000013, -84.2910399999999953 33.7831240000000008, -84.2907000000000011 33.7828949999999963, -84.2897789999999958 33.7825179999999961, -84.2894079999999946 33.7825699999999998, -84.2891539999999964 33.7826299999999975, -84.2887580000000014 33.7826759999999950, -84.2887699999999995 33.7824240000000060, -84.2890639999999962 33.7812110000000061, -84.2891499999999922 33.7800719999999970, -84.2891699999999986 33.7797599999999960, -84.2891489999999948 33.7794629999999998, -84.2891159999999928 33.7792260000000013, -84.2889959999999974 33.7788679999999957, -84.2888129999999904 33.7785599999999988, -84.2885519999999957 33.7781909999999996, -84.2882580000000132 33.7778719999999950, -84.2879259999999988 33.7774919999999952, -84.2878019999999992 33.7772700000000015, -84.2877649999999932 33.7771339999999967, -84.2877610000000033 33.7769649999999970, -84.2877960000000002 33.7768949999999961, -84.2878319999999945 33.7767179999999954, -84.2878419999999977 33.7764139999999955, -84.2878299999999996 33.7761349999999965, -84.2877960000000002 33.7759399999999985, -84.2877659999999906 33.7756699999999981, -84.2867579999999919 33.7758070000000004, -84.2858310000000017 33.7759900000000002, -84.2853439999999949 33.7760379999999998, -84.2845190000000031 33.7761980000000008, -84.2843060000000008 33.7762010000000004, -84.2841219999999964 33.7761749999999950, -84.2837279999999964 33.7761579999999952, -84.2828069999999911 33.7761369999999985, -84.2828659999999985 33.7768400000000000, -84.2826089999999937 33.7769529999999989, -84.2824110000000104 33.7771429999999953, -84.2821189999999945 33.7774069999999966, -84.2819109999999938 33.7775800000000004, -84.2818669999999912 33.7776969999999963, -84.2818510000000032 33.7778739999999971, -84.2818439999999924 33.7787530000000018, -84.2818579999999997 33.7789390000000012, -84.2818829999999934 33.7791259999999980, -84.2805680000000024 33.7791050000000013, -84.2799129999999934 33.7791220000000010, -84.2798870000000022 33.7790369999999953, -84.2798870000000022 33.7789819999999992, -84.2798859999999905 33.7787900000000008, -84.2798859999999905 33.7786569999999955, -84.2798859999999905 33.7785340000000005, -84.2798849999999931 33.7785060000000001, -84.2798849999999931 33.7783009999999990, -84.2798760000000016 33.7782929999999979, -84.2798459999999920 33.7783280000000019, -84.2798329999999964 33.7783429999999996, -84.2797970000000021 33.7783869999999951, -84.2797109999999918 33.7784929999999974, -84.2796689999999984 33.7785439999999966, -84.2793089999999978 33.7789829999999967, -84.2790669999999977 33.7789789999999996, -84.2780039999999957 33.7789739999999981, -84.2780130000000014 33.7783620000000013, -84.2779570000000007 33.7783629999999988, -84.2775460000000010 33.7776659999999964, -84.2776609999999948 33.7775619999999961, -84.2779309999999953 33.7773399999999953, -84.2782709999999895 33.7771439999999998, -84.2785930000000150 33.7769869999999983, -84.2788970000000006 33.7768709999999999, -84.2797429999999963 33.7766129999999976, -84.2798009999999920 33.7765950000000004, -84.2798760000000016 33.7765720000000016, -84.2798779999999965 33.7763909999999967, -84.2798779999999965 33.7761319999999969, -84.2798769999999990 33.7759989999999988, -84.2798779999999965 33.7759369999999990, -84.2798810000000032 33.7758550000000000, -84.2798849999999931 33.7757599999999982, -84.2798870000000022 33.7756899999999973, -84.2798889999999972 33.7756439999999998, -84.2798999999999978 33.7756399999999957, -84.2798899999999946 33.7756169999999969, -84.2798729999999949 33.7755820000000000, -84.2798599999999993 33.7755569999999992, -84.2798009999999920 33.7754399999999961, -84.2794919999999905 33.7748199999999983, -84.2794439999999980 33.7747339999999951, -84.2794109999999961 33.7745049999999978, -84.2794129999999910 33.7743339999999961, -84.2794129999999910 33.7743019999999987, -84.2795459999999963 33.7743070000000003, -84.2795660000000026 33.7743040000000008, -84.2799049999999994 33.7743139999999968, -84.2799079999999918 33.7740719999999968, -84.2801439999999928 33.7740840000000020, -84.2801389999999913 33.7742360000000019, -84.2801389999999913 33.7743369999999956, -84.2806389999999936 33.7743679999999955, -84.2806360000000012 33.7742019999999954, -84.2806360000000012 33.7741860000000003, -84.2806379999999962 33.7741010000000017, -84.2806099999999958 33.7740409999999969, -84.2805209999999931 33.7739630000000020, -84.2804629999999975 33.7738859999999974, -84.2804589999999934 33.7738719999999972, -84.2809960000000018 33.7738900000000015, -84.2810059999999908 33.7734009999999998, -84.2810159999999939 33.7720470000000006, -84.2810180000000031 33.7718729999999994, -84.2810181768488462 33.7718682813511819, -84.2810199996612823 33.7717199996687754, -84.2806921190741463 33.7717089054615798, -84.2805657952839482 33.7717048141129652, -84.2805689043531459 33.7715064010185557, -84.2804051774094631 33.7714722618049734, -84.2801839232532899 33.7714688462400403, -84.2799421093552468 33.7714646764728172, -84.2799440003069549 33.7712859999994137, -84.2799440000000004 33.7712859999999964, -84.2799443641957851 33.7712609918898039, -84.2796288731038601 33.7712570563066521, -84.2796138775268275 33.7711790013825919, -84.2795910163011541 33.7711022875289331, -84.2795604448354254 33.7710274710695515, -84.2795223868101004 33.7709550881681437, -84.2794778663046031 33.7708941631819854, -84.2794281409603769 33.7708361145963281, -84.2793734784753354 33.7707812508208960, -84.2793141690053318 33.7707298615973670, -84.2792644607290669 33.7706920660277419, -84.2791576708047501 33.7706239258320977, -84.2790086151462674 33.7705478066354488, -84.2784558458193374 33.7702521422625068, -84.2778665842306083 33.7699393845530551, -84.2777574982124236 33.7698814869104638, -84.2775472376387000 33.7697697859362549, -84.2783443172818778 33.7695337246175384, -84.2782999144556868 33.7694791758842854, -84.2784593770967234 33.7693403455872598, -84.2785885683093170 33.7694613845126099, -84.2799609911162833 33.7690594667991704, -84.2799610000000001 33.7690589999999986, -84.2799631497632618 33.7690588346335971, -84.2799660000502229 33.7690579999193830, -84.2799889996164353 33.7690509998301067, -84.2805241799300973 33.7688965242770038, -84.2810589919345006 33.7687417781188017, -84.2811570583191099 33.7687134050222042, -84.2811572649193721 33.7687134289170814, -84.2811569999999932 33.7687129999999982, -84.2815659999999980 33.7685949999999977, -84.2815660002108018 33.7685950003477160, -84.2817699096671902 33.7685360742626841, -84.2819741937493347 33.7684769636790065, -84.2821779999277396 33.7684180001665908, -84.2821784715135891 33.7684178644415738, -84.2821780000000018 33.7684169999999995, -84.2822583768434441 33.7683948672460090, -84.2823829999671403 33.7683590000222082, -84.2825086627302085 33.7683226563042425, -84.2825870000000066 33.7682989999999990, -84.2827910000000031 33.7682399999999987, -84.2829949999999997 33.7681809999999984, -84.2831989999999962 33.7681219999999982, -84.2832119999999918 33.7681439999999995, -84.2834829999999897 33.7685759999999959, -84.2837849761452418 33.7684621401419491, -84.2838269995655480 33.7684880009295156, -84.2838679995734310 33.7685130009833330, -84.2838709916462392 33.7685116046623364, -84.2839835169468472 33.7685802176505092, -84.2839859995742131 33.7685840007080742, -84.2840440001988327 33.7686730010056309, -84.2841630000245345 33.7688540010487159, -84.2839839999243878 33.7689540007930020, -84.2839449995663443 33.7689750010828931, -84.2839410002666938 33.7689780008038980, -84.2838059996491609 33.7690540011673832, -84.2837970007044532 33.7690590004877578, -84.2837971730928643 33.7690591198472205, -84.2839999998179081 33.7691990008681913, -84.2841350004354268 33.7692930007902987, -84.2841482829504116 33.7693022236889249, -84.2845550601767854 33.7695838708837215, -84.2845830001491123 33.7696030008672423, -84.2847685026528950 33.7697316556434117, -84.2847689999999972 33.7697320000000047, -84.2852209999999928 33.7700419999999966, -84.2852710000000087 33.7700109999999967, -84.2857289999999892 33.7697369999999992, -84.2857750000000010 33.7697099999999963, -84.2859569999999962 33.7696010000000015, -84.2863249999999908 33.7694180000000017, -84.2867979999999903 33.7698260000000019, -84.2874279999999914 33.7703980000000001, -84.2877719999999897 33.7707009999999954, -84.2880679999999955 33.7709359999999990, -84.2884310000000028 33.7712989999999991, -84.2886259999999936 33.7715479999999957, -84.2888279999999952 33.7718819999999980, -84.2890889999999899 33.7722599999999957, -84.2903079999999960 33.7717960000000019, -84.2910150000000016 33.7715710000000016, -84.2912020000000126 33.7715120000000013, -84.2925979999999981 33.7710689999999971, -84.2925709999999953 33.7706370000000007, -84.2925659999999937 33.7703449999999989, -84.2925470000000132 33.7691579999999973, -84.2925789999999893 33.7686149999999969, -84.2926319999999976 33.7671039999999962, -84.2926399999999916 33.7668339999999958, -84.2930499999999938 33.7668320000000008, -84.2933740000000000 33.7668309999999963, -84.2962859999999949 33.7668180000000007, -84.2963549999999913 33.7680129999999963, -84.2963779999999900 33.7682950000000019, -84.2964060000000046 33.7686349999999962, -84.2964209999999952 33.7688179999999960, -84.2964959999999905 33.7697349999999972, -84.2965019999999896 33.7699129999999954, -84.2965059999999937 33.7700479999999956, -84.2965379999999982 33.7709860000000077, -84.2965310000000159 33.7718319999999963, -84.2964959999999905 33.7735629999999958, -84.2965250000000026 33.7736489999999989, -84.2965229999999934 33.7744810000000015, -84.2965229999999934 33.7746039999999965, -84.2959069999999997 33.7745989999999949, -84.2959079999999972 33.7746939999999967, -84.2959079999999972 33.7750100000000018, -84.2959129999999988 33.7755809999999954, -84.2960789999999918 33.7755859999999970, -84.2965540000000004 33.7755839999999949, -84.2964699999999993 33.7779150000000001), (-84.2810159999999939 33.7720470000000006, -84.2810167225546394 33.7719841377455978, -84.2810138661313601 33.7721913236591789, -84.2810149403652673 33.7721904745410910, -84.2810159999999939 33.7720470000000006))\n",
      "</A>\n"
     ]
    },
    {
     "ename": "TopologicalError",
     "evalue": "The operation 'GEOSIntersection_r' could not be performed. Likely cause is invalidity of the geometry <shapely.geometry.polygon.Polygon object at 0x7fbf502c3c70>",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mTopologicalError\u001b[0m                          Traceback (most recent call last)",
      "\u001b[0;32m/tmp/ipykernel_185/1622649184.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m     70\u001b[0m             \u001b[0;32melse\u001b[0m \u001b[0;34m:\u001b[0m \u001b[0;31m#precinct is a multiPolygon, do the polygon intersections individually\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     71\u001b[0m                 \u001b[0;32mfor\u001b[0m \u001b[0mgeom\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mvtdGeom\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mp\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgeoms\u001b[0m \u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 72\u001b[0;31m                     \u001b[0mintersxnArea\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0mgridGeom\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mnG\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mintersection\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgeom\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marea\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     73\u001b[0m             \u001b[0mintersxnArea\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgridGeom\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mnG\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mintersection\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvtdGeom\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mp\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marea\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     74\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mintersxnArea\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m0\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mvtdPop\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mp\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m>\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m:\u001b[0m \u001b[0;31m# this precinct is at least partially in this grid and recorded votes\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/opt/conda/lib/python3.9/site-packages/shapely/geometry/base.py\u001b[0m in \u001b[0;36mintersection\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m    687\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mintersection\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    688\u001b[0m         \u001b[0;34m\"\"\"Returns the intersection of the geometries\"\"\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 689\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mgeom_factory\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mimpl\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'intersection'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    690\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    691\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0msymmetric_difference\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/opt/conda/lib/python3.9/site-packages/shapely/topology.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, this, other, *args)\u001b[0m\n\u001b[1;32m     70\u001b[0m             err = TopologicalError(\n\u001b[1;32m     71\u001b[0m                     \"This operation could not be performed. Reason: unknown\")\n\u001b[0;32m---> 72\u001b[0;31m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_check_topology\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0merr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mthis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     73\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0mproduct\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     74\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/opt/conda/lib/python3.9/site-packages/shapely/topology.py\u001b[0m in \u001b[0;36m_check_topology\u001b[0;34m(self, err, *geoms)\u001b[0m\n\u001b[1;32m     35\u001b[0m         \u001b[0;32mfor\u001b[0m \u001b[0mgeom\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mgeoms\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     36\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mgeom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_valid\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 37\u001b[0;31m                 raise TopologicalError(\n\u001b[0m\u001b[1;32m     38\u001b[0m                     \u001b[0;34m\"The operation '%s' could not be performed. \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     39\u001b[0m                     \"Likely cause is invalidity of the geometry %s\" % (\n",
      "\u001b[0;31mTopologicalError\u001b[0m: The operation 'GEOSIntersection_r' could not be performed. Likely cause is invalidity of the geometry <shapely.geometry.polygon.Polygon object at 0x7fbf502c3c70>"
     ]
    }
   ],
   "source": [
    "#FAIL here with a bad precinct when building grid map in Georgia.  See below two blocks for fix and re-run"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "c3eb2c10-5caa-42ce-a70f-d87d6e275e22",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2034 1\n",
      "0 0.00016990724566590647\n",
      "1 2.9354445031118904e-11\n",
      "2 4.989851763673341e-17\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#WTF is going on with this precinct?\n",
    "p= 2034\n",
    "print(p, notPolyVTD[p])\n",
    "counter = 0\n",
    "for geom in vtdGeom[p].geoms:\n",
    "    x,y = geom.exterior.xy\n",
    "    plt.plot(x,y)\n",
    "    print(counter,geom.area)\n",
    "    counter+=1\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "2532d156-de55-4a64-ac38-1a373a9ab910",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#OK, kill the bad sub-polygons\n",
    "counter = 0\n",
    "for geom in vtdGeom[p].geoms:\n",
    "    if counter == 0:\n",
    "        goodGeom = geom\n",
    "    counter+=1\n",
    "vtdGeom[p] = goodGeom\n",
    "notPolyVTD[p] = 0\n",
    "x,y = vtdGeom[p].exterior.xy\n",
    "plt.plot(x,y)\n",
    "plt.show()\n",
    "#sigh, this precinct's geom is still whacked.  Convex-hull it\n",
    "vtdGeom[2034] = vtdGeom[2034].convex_hull  #after this line, go back up and redo the grid code"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "2f6c72cd-90d8-489d-9b15-d4278ba17b3d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "map has a total of 144 grids for 14 districts\n",
      "starting grid no 0 at x = -85.41725741666669, y = 30.54932141666667 \n",
      "starting grid no 5 at x = -85.41725741666669, y = 32.484965583333334 \n",
      "starting grid no 10 at x = -85.41725741666669, y = 34.42060975 \n",
      "starting grid no 15 at x = -85.04144224999999, y = 31.71070791666666 \n",
      "starting grid no 20 at x = -85.04144224999999, y = 33.64635208333333 \n",
      "starting grid no 25 at x = -84.66562708333335, y = 30.93645025 \n",
      "starting grid no 30 at x = -84.66562708333332, y = 32.87209441666666 \n",
      "starting grid no 35 at x = -84.66562708333332, y = 34.80773858333333 \n",
      "starting grid no 40 at x = -84.28981191666668, y = 32.09783675 \n",
      "starting grid no 45 at x = -84.28981191666668, y = 34.03348091666667 \n",
      "starting grid no 50 at x = -83.91399675000001, y = 31.32357908333333 \n",
      "starting grid no 55 at x = -83.91399675, y = 33.259223250000005 \n",
      "starting grid no 60 at x = -83.53818158333334, y = 30.54932141666667 \n",
      "starting grid no 65 at x = -83.53818158333334, y = 32.484965583333334 \n",
      "starting grid no 70 at x = -83.53818158333334, y = 34.42060975 \n",
      "starting grid no 75 at x = -83.16236641666666, y = 31.71070791666666 \n",
      "starting grid no 80 at x = -83.16236641666666, y = 33.64635208333333 \n",
      "starting grid no 85 at x = -82.78655125, y = 30.936450250000004 \n",
      "starting grid no 90 at x = -82.78655125000002, y = 32.87209441666666 \n",
      "starting grid no 95 at x = -82.78655125000002, y = 34.80773858333333 \n",
      "starting grid no 100 at x = -82.41073608333332, y = 32.09783675 \n",
      "starting grid no 105 at x = -82.41073608333332, y = 34.03348091666667 \n",
      "starting grid no 110 at x = -82.03492091666666, y = 31.323579083333332 \n",
      "starting grid no 115 at x = -82.03492091666668, y = 33.25922325 \n",
      "starting grid no 120 at x = -81.65910575000001, y = 30.54932141666667 \n",
      "starting grid no 125 at x = -81.65910575000001, y = 32.484965583333334 \n",
      "starting grid no 130 at x = -81.65910575000001, y = 34.42060975 \n",
      "starting grid no 135 at x = -81.28329058333333, y = 31.71070791666666 \n",
      "starting grid no 140 at x = -81.28329058333333, y = 33.64635208333333 \n",
      "done building grids. avgGridDensity, maxGridDensity,nPopulatedGrids = 603499.8149445399 9356140.563914228 122.0\n"
     ]
    }
   ],
   "source": [
    "# this section - ESTIMATE POP'N DENSITY at scale of 1/3 of district length\n",
    "# also, IDENTIFY WHICH TRACTS and VTD's INTERSECT EACH GRID to speed later intersection searches by grid \n",
    "# (above sections already pulled in Tract and Precinct geometry and demographic data, built an overall map)\n",
    "nDistricts = 14   #GA congressional\n",
    "avgDistrictPop = np.sum(tractPop) / float(nDistricts)\n",
    "#MAPMaxX = -80.   #In most state maps, we figure this out from the bounding box of the convex hull; see above.\n",
    "#MAPMaxY = 31.1   # ... but for Florida, we will do manually\n",
    "#MAPMinX = -87.0\n",
    "#MAPMinY = 25.5\n",
    "stateWidth = float(MAPMaxX - MAPMinX)\n",
    "stateHeight = float(MAPMaxY - MAPMinY)\n",
    "stateWHRatio = stateWidth / stateHeight\n",
    "G = 3  #adjustable parameter; G*G = number of grids that fit in an average district\n",
    "nGridsX = int( G*round((nDistricts*stateWHRatio)**0.5,0) )   #OK to have empty grids for a non-rectglr state\n",
    "nGridsY = int(round(nGridsX / stateWHRatio,0) )  #so grids are square even if state has high aspect ratio\n",
    "nGrids = int(nGridsX*nGridsY)\n",
    "print(\"map has a total of {0} grids for {1} districts\".format(nGrids,nDistricts) )\n",
    "nGridPrecincts = [0]*nGrids # will store how many precincts intersect with each grid square\n",
    "nGridTracts = [0]*nGrids    # same, but for tracts\n",
    "gridPrecinctNo = [[0]*nPrecincts for gridNo in range(nGrids) ] # initialize a list of VTDs that intersect with each grid square\n",
    "gridTractNo = [[0]*nTracts for gridNo in range(nGrids) ] # initialize a list of tracts that intersect with each grid square\n",
    "\n",
    "gridPop = [0.]*nGrids #will store approx total population for this grid square\n",
    "gridDensity = [0.]*nGrids\n",
    "gridGeom = [Polygon([(0,0),(0,1),(1,0)])]*nGrids  #initialize grid geometry\n",
    "gridWidth = stateWidth /nGridsX        #geo length of a grid's side length\n",
    "gridHeight = stateHeight /nGridsY    \n",
    "\n",
    "for nG in range (nGrids) : #  create polygon shape for each grid square, compute grid-square population density\n",
    "    x = int(nG/nGridsY)\n",
    "    y = int(nG % nGridsY)\n",
    "    point1 = Point(x*gridWidth+MAPMinX,y*gridHeight+MAPMinY)\n",
    "    point2 = Point((x+1)*gridWidth+MAPMinX, y*gridHeight+MAPMinY)\n",
    "    point3 = Point((x+1)*gridWidth+MAPMinX, (y+1)*gridHeight+MAPMinY)\n",
    "    point4 = Point(x*gridWidth+MAPMinX, (y+1)*gridHeight+MAPMinY)\n",
    "    gridGeom[nG] = Polygon([point1, point2, point3, point4])\n",
    "    if (nG %5 == 0): #print occasionally, should take about one second per grid\n",
    "        print(\"starting grid no {0} at x = {1}, y = {2} \".format(nG,gridGeom[nG].centroid.x,gridGeom[nG].centroid.y) )\n",
    "    counter = 0\n",
    "    #    Now for each grid square, find intersxn with all polygons, total the intersection population\n",
    "    #    Also, create 2 lists: of TRACTS and precincts that intersect each grid (efficiency shortcut)\n",
    "    \n",
    "    if( gridGeom[nG].intersection(MAP).area > 0.0001) : #don't bother w grids off the map\n",
    "        for t in range(nTracts):\n",
    "            # if (t%3000 == 0) :\n",
    "            #    print (\"grid {0}, tract no {1}, ({2},{3})\".format(nG,t,tractGeom[t].centroid.x,tractGeom[t].centroid.y) )\n",
    "            intersxnArea = 0.\n",
    "            if (notPoly[t] == 0) :  # tract is a simple polygon\n",
    "                intersxnArea = gridGeom[nG].intersection(tractGeom[t]).area  #replaced tractGeom w cleanedPoly\n",
    "            else : #tract is a multiPolygon, do the polygon intersections individually\n",
    "                #print(\"I think tract\",t,\"is a multiPolygon\")\n",
    "                for geom in tractGeom[t].geoms :\n",
    "                    intersxnArea += gridGeom[nG].intersection(geom).area\n",
    "            if (intersxnArea > 0 and tractPop[t] > minTractPop) : # this tract is at least partially in this grid and populated \n",
    "                if (tractArea[t] == 0):  #should not happen, but debugging\n",
    "                    print(t,tractGeom[t].centroid.x, tractGeom[t].centroid.y)  #debug print\n",
    "                gridPop[nG] += tractPop[t]*intersxnArea/tractArea[t]\n",
    "                if tractPop[t] > (1.0 * avgDistrictPop) :  #flag if we have a mega tract\n",
    "                    uhoh = input(\"Uh oh! We have a tract that's bigger than a district.  What now?\")\n",
    "                else :\n",
    "                    gridTractNo[nG][counter] = t  #add this tract to this grid's list, update the no of tracts in grid\n",
    "                    counter +=1            \n",
    "                    nGridTracts[nG] = counter\n",
    "        # OK, now, loop over PRECINCTS to develop each grid's list of precincts (prev loop was for tracts)\n",
    "        counter = 0\n",
    "        for p in range(nPrecincts):\n",
    "            intersxnArea = 0.\n",
    "            if (notPolyVTD[p] == 0) :  # precinct is a simple polygon\n",
    "                intersxnArea = gridGeom[nG].intersection(vtdGeom[p]).area  #replaced tractGeom w cleanedPoly\n",
    "            else : #precinct is a multiPolygon, do the polygon intersections individually\n",
    "                for geom in vtdGeom[p].geoms :\n",
    "                    intersxnArea += gridGeom[nG].intersection(geom).area\n",
    "            intersxnArea = gridGeom[nG].intersection(vtdGeom[p]).area\n",
    "            if (intersxnArea > 0 and vtdPop[p] >0) : # this precinct is at least partially in this grid and recorded votes                 \n",
    "                gridPrecinctNo[nG][counter] = p  #add this precinct to this grid's list, update the no of tracts in grid\n",
    "                counter +=1            \n",
    "                nGridPrecincts[nG] = counter\n",
    "    gridDensity[nG] = gridPop[nG] / gridGeom[nG].area  #finished loop over tracts & vtd's.  Calceach grid's population density    \n",
    "\n",
    "minGridPop = np.min(gridPop)\n",
    "# avgGridPop = np.mean(gridPop)   #see below for explicit averaging, since there are so many empty grids\n",
    "maxGridPop = np.max(gridPop)\n",
    "nPopulatedGrids = 0.\n",
    "totPopulatedGridArea = 0.\n",
    "for nG in range(nGrids) :\n",
    "    if gridPop[nG] > 0. :\n",
    "        nPopulatedGrids +=1\n",
    "        totPopulatedGridArea += gridGeom[nG].area\n",
    "avgGridPop = np.sum(tractPop) / nPopulatedGrids\n",
    "avgGridDensity = np.sum(tractPop) / totPopulatedGridArea\n",
    "#avgGridDensity = np.average(gridDensity) #avgGridPop / (gridPL * gridPL) #these densities help home district algorithm\n",
    "maxGridDensity = np.max(gridDensity)\n",
    "print(\"done building grids. avgGridDensity, maxGridDensity,nPopulatedGrids =\",avgGridDensity,maxGridDensity,nPopulatedGrids)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "808f513f-21af-4b03-8061-fdeeed33dafd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "here is a heat map of grid density \n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<function matplotlib.pyplot.show(close=None, block=None)>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(\"here is a heat map of grid density \")\n",
    "xyGridDensity = [[0.]*nGridsX for x in range (nGridsY) ]   #flipping x and y to get right orientation in pixel grid\n",
    "for nG in range (nGrids) : #  create polygon shape for each grid square, compute grid-square population density\n",
    "    x = int(nG % nGridsY)\n",
    "    y = int(nG / nGridsY)\n",
    "    if gridDensity[nG] > 0 :  #avoid log zero\n",
    "        xyGridDensity[x][y]=np.log(gridDensity[nG])\n",
    "c=plt.pcolormesh(xyGridDensity)\n",
    "plt.colorbar(c)\n",
    "plt.show"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "791ff919-f98f-4159-9697-8c3ffaefa764",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "I am working on tract number 0 of 2796 tracts\n",
      "I am working on tract number 50 of 2796 tracts\n",
      "I am working on tract number 100 of 2796 tracts\n",
      "I am working on tract number 150 of 2796 tracts\n",
      "I am working on tract number 200 of 2796 tracts\n",
      "I am working on tract number 250 of 2796 tracts\n",
      "I am working on tract number 300 of 2796 tracts\n",
      "I am working on tract number 350 of 2796 tracts\n",
      "I am working on tract number 400 of 2796 tracts\n",
      "I am working on tract number 450 of 2796 tracts\n",
      "I am working on tract number 500 of 2796 tracts\n",
      "I am working on tract number 550 of 2796 tracts\n",
      "I am working on tract number 600 of 2796 tracts\n",
      "I am working on tract number 650 of 2796 tracts\n",
      "I am working on tract number 700 of 2796 tracts\n",
      "I am working on tract number 750 of 2796 tracts\n",
      "I am working on tract number 800 of 2796 tracts\n",
      "I am working on tract number 850 of 2796 tracts\n",
      "I am working on tract number 900 of 2796 tracts\n",
      "I am working on tract number 950 of 2796 tracts\n",
      "I am working on tract number 1000 of 2796 tracts\n",
      "I am working on tract number 1050 of 2796 tracts\n",
      "I am working on tract number 1100 of 2796 tracts\n",
      "I am working on tract number 1150 of 2796 tracts\n",
      "I am working on tract number 1200 of 2796 tracts\n",
      "I am working on tract number 1250 of 2796 tracts\n",
      "I am working on tract number 1300 of 2796 tracts\n",
      "I am working on tract number 1350 of 2796 tracts\n",
      "I am working on tract number 1400 of 2796 tracts\n",
      "I am working on tract number 1450 of 2796 tracts\n",
      "I am working on tract number 1500 of 2796 tracts\n",
      "I am working on tract number 1550 of 2796 tracts\n",
      "I am working on tract number 1600 of 2796 tracts\n",
      "I am working on tract number 1650 of 2796 tracts\n",
      "I am working on tract number 1700 of 2796 tracts\n",
      "I am working on tract number 1750 of 2796 tracts\n",
      "I am working on tract number 1800 of 2796 tracts\n",
      "I am working on tract number 1850 of 2796 tracts\n",
      "I am working on tract number 1900 of 2796 tracts\n",
      "I am working on tract number 1950 of 2796 tracts\n",
      "I am working on tract number 2000 of 2796 tracts\n",
      "I am working on tract number 2050 of 2796 tracts\n",
      "I am working on tract number 2100 of 2796 tracts\n",
      "I am working on tract number 2150 of 2796 tracts\n",
      "I am working on tract number 2200 of 2796 tracts\n",
      "I am working on tract number 2250 of 2796 tracts\n",
      "I am working on tract number 2300 of 2796 tracts\n",
      "I am working on tract number 2350 of 2796 tracts\n",
      "I am working on tract number 2400 of 2796 tracts\n",
      "I am working on tract number 2450 of 2796 tracts\n",
      "I am working on tract number 2500 of 2796 tracts\n",
      "I am working on tract number 2550 of 2796 tracts\n",
      "I am working on tract number 2600 of 2796 tracts\n",
      "I am working on tract number 2650 of 2796 tracts\n",
      "I am working on tract number 2700 of 2796 tracts\n",
      "I am working on tract number 2750 of 2796 tracts\n",
      "Sum of weights over all precinct home districts should have been 1.000, but was  1.000068\n",
      "Average and max number of NNcircle loops per tract were:  9.746781115879829 13\n",
      "min,average,max of Home District areas were:  0.0 0.9787193377306417 4.073473473247819\n",
      "calculated statewide vote was 0.47387872732722175, should have been 0.498716661561674\n"
     ]
    }
   ],
   "source": [
    "#8/7/22 - OPTIONAL - run circle (NN) code in place of HD1.  prefix all output variables with \"NN\"\n",
    "# use bisection solver for HD circle radius\n",
    "pi=3.1415926536\n",
    "NNtractLoopCounter = [0.]* nTracts  #this tracks how many loops per tract to get to target wedge Pop\n",
    "NNtractUse = [0.] * nTracts  #this will store how much we use this tract in ALL HD's vs. expectation\n",
    "NNprecinctUse = [0.] * nPrecincts   #same, but for each precinct / VTD\n",
    "NNvPop = [0.]*nTracts\n",
    "NNvGOP = [0.]*nTracts  #GOP lean of each tract's \"home district\"\n",
    "# HDvBlack = [0.]*nTracts  #don't bother with minority calcs for NN code\n",
    "#HDvHisp = [0.]*nTracts #pct Hispanic by home district\n",
    "HDweight = [0.]*nTracts  #relative weight of each district.  In absence of splits, will equal precinct pop\n",
    "NNarea = [0.]*nTracts  #geographical area of each home district\n",
    "NNradius = [0.]*nTracts #final radius for each Home District circle\n",
    "toler = 0.005  #adjustable - fractional slop in district population.  normally 0.01, to be reduced to 0.005\n",
    "tolerPop = toler * avgDistrictPop  #absolute slop in district pop\n",
    "nLoopPrint = 30  #at this loop number, we alert user of problem\n",
    "nGiveUp = 40  #we punt after this many loops\n",
    "maxR = 0.4* max(stateWidth, stateHeight)  #put a reasonable upper limit on initial bisection step size\n",
    "tractPrintInterval = 50  #for tracking progress\n",
    "tractLoopCounter = [0]*nTracts  #for stability stats, will track how many times we need to loop for each tract\n",
    "\n",
    "for t in range(nTracts) :  #(nTracts):  #loop on each tract.  Start by resetting stats\n",
    "    if (t % tractPrintInterval) == 0 : \n",
    "        print(\"I am working on tract number {0} of {1} tracts\".format(t,nTracts) )\n",
    "    tractCP = Point(tractGeom[t].centroid.x,tractGeom[t].centroid.y)  #shorthand for centroid of current tract\n",
    "    HDpop = 0.  #current loop's total of this tract's \"home district\" population\n",
    "    nextR = maxR # the HD circle radius in the next bisection loop. We guess big and then (usually) reduce\n",
    "    dr = 0.5 * nextR  #step size for next bisection step\n",
    "    if (tractPop[t] < minTractPop or isSkippedTract[t] == 1):\n",
    "        #go directly to jail, do not pass Go, this tract doesn't count\n",
    "        HDpop = avgDistrictPop  #white lie to kick us out of loop\n",
    "    while abs (HDpop - avgDistrictPop) > tolerPop and tractLoopCounter[t] < nGiveUp:  #until we've grown the home district\n",
    "        HDpop = 0.                                                                     #to the right size...\n",
    "        tractLoopCounter[t] +=1                                                        \n",
    "        NNradius[t] = nextR\n",
    "        HDCircle = tractCP.buffer(NNradius[t])\n",
    "        loopTractUse = [0.]*nTracts\n",
    "        usedTract = [0]*nTracts\n",
    "        for nG in range(nGrids) :  # loop over ACTIVE grids to look for intersecting tracts\n",
    "            gridIntersxn = gridGeom[nG].intersection(HDCircle)\n",
    "            if (gridIntersxn.area > 0) :  #this grid is RELEVANT to the current HDCircle\n",
    "                for tt in range(nGridTracts[nG]) : #look for intersxns with all tracts in this grid\n",
    "                    nTT = gridTractNo[nG][tt] #shorthand for this tract's global tract no\n",
    "                    if(usedTract[nTT] == 0) :  #Did we not already look at this tract in another grid list?\n",
    "                        usedTract[nTT] = 1  #well, now we have! \n",
    "                        overlap = tractGeom[nTT].intersection(HDCircle).area\n",
    "                        if overlap > 0 :\n",
    "                            fracArea = overlap/tractArea[nTT]\n",
    "                            HDpop  += fracArea*tractPop[nTT]\n",
    "                            loopTractUse[nTT] = overlap/tractArea[nTT] * tractPop[t]/avgDistrictPop\n",
    "                        # found all possible tract overlaps with this increment / decrement to this wedge.\n",
    "        nextR = NNradius[t] + np.sign(avgDistrictPop-HDpop) * dr  #increase r if we are below target pop\n",
    "        dr = 0.5 * dr\n",
    "        # print(nextR, dr, HDpop,\"nextR, dr, HDpop\")  #DEBUG\n",
    "    if tractLoopCounter[t] > nGiveUp - 2:\n",
    "        print(\"oops, we failed to converge for tract\",t,\". Current R is\",NNradius[t])\n",
    "    # END OF WHILE LOOP --> we are within tolerance of avgDistrictPop. Finalize this tract's Home District stats\n",
    "    for nTT in range (nTracts) :\n",
    "        NNtractUse[nTT] += loopTractUse[nTT]\n",
    "    totGOP = 0.\n",
    "    totVote = 0. #zero these out prior to summing over final wedges\n",
    "    usedTract = [0]*nTracts  #rezero lists of tracts and precincts that could straddle multiple grids\n",
    "    usedPrecinct = [0]*nPrecincts\n",
    "\n",
    "    if (tractPop[t] < minTractPop or tractArea[t] == 0 or isSkippedTract[t] == 1): \n",
    "        #we bypassed the big loop; this tract is inconsequential\n",
    "        NNvPop[t] = HDpop  #a white lie\n",
    "        HDweight[t] = 0.000001  #to suppress this in total stats\n",
    "    else :\n",
    "        NNvPop[t] = HDpop\n",
    "        HDweight[t] = tractPop[t]/np.sum(tractPop)\n",
    "        usedPrecinct = [0.]*nPrecincts\n",
    "        for nG in range(nGrids) :  # ID the ACTIVE grids to look for intersecting precincts\n",
    "            gridIntersxn = gridGeom[nG].intersection(HDCircle)\n",
    "            if (gridIntersxn.area > 0) :  #this grid is RELEVANT to the final Home District                        \n",
    "                for pp in range(nGridPrecincts[nG]): #scanning the list of precincts in this active grid\n",
    "                    nPP = gridPrecinctNo[nG][pp]\n",
    "                    if usedPrecinct[nPP] == 0  :\n",
    "                        usedPrecinct[nPP] = 1  #don't double up on precinct intersection\n",
    "                        overlap = vtdGeom[nPP].intersection(HDCircle).area\n",
    "                        if overlap > 0 :\n",
    "                            fracArea = overlap/vtdArea[nPP]\n",
    "                            totGOP += fracArea*vtdGOP[nPP]*vtdPop[nPP]\n",
    "                            totVote += fracArea*vtdPop[nPP]\n",
    "                            NNprecinctUse[nPP] += overlap/vtdArea[nPP] *tractPop[t]/avgDistrictPop\n",
    "        NNvGOP[t] = totGOP/totVote\n",
    "    # end of loop on this tract\n",
    "\n",
    "HDsumWeight = np.sum(HDweight)\n",
    "print(\"Sum of weights over all precinct home districts should have been 1.000, but was \",HDsumWeight)\n",
    "print(\"Average and max number of NNcircle loops per tract were: \",np.average(tractLoopCounter),np.max(tractLoopCounter) )\n",
    "\n",
    "NNarea = [0.]*nTracts\n",
    "for t in range(nTracts):\n",
    "    HDCircle = tractGeom[t].centroid.buffer(NNradius[t])\n",
    "    NNarea[t] = HDCircle.intersection(MAP).area\n",
    "print(\"min,average,max of Home District areas were: \",np.min(NNarea),np.average(NNarea),np.max(NNarea) )\n",
    "NNstateGOP2 = 0.\n",
    "for t in range(nTracts):\n",
    "    HDweight[t] = HDweight[t]/HDsumWeight   #renormalizing\n",
    "    NNstateGOP2 += HDweight[t]*NNvGOP[t]\n",
    "statePop = np.sum(tractPop)\n",
    "print(\"calculated statewide vote was {0}, should have been {1}\".format(NNstateGOP2, stateGOP) )\n",
    "\n",
    "#started 6:23"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "1ffd3d53-9e68-4b1d-afdb-d1aa5c298429",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2795 2311 2.5705941780646873\n"
     ]
    }
   ],
   "source": [
    "print(t,tractPop[t],NNarea[t])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "1bf10b6c-6e63-4ccc-afa4-c01fe64fab9d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# What is the correlation of tract usage to NN tract area?\n",
    "fig, ax = plt.subplots()\n",
    "plt.scatter(NNarea,NNtractUse, marker='.' )\n",
    "ax.set(xlabel=\"home district circle area\", ylabel=\"tractUse across all circles\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "92037852-7760-4116-b41f-5e39224478f0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "GA 08Aug\n"
     ]
    }
   ],
   "source": [
    "date = \"08Aug\"\n",
    "print(STATE, date)  #check that I will not overwrite existing file :-)\n",
    "tractCPx = [0.]*nTracts\n",
    "tractCPy = [0.]*nTracts\n",
    "tractNo = [0.]*nTracts\n",
    "HDarea = [0.]*nTracts\n",
    "for t in range(nTracts):\n",
    "    tractCPx[t]=tractGeom[t].centroid.x\n",
    "    tractCPy[t]=tractGeom[t].centroid.y\n",
    "    tractNo[t]=t\n",
    "    HDarea[t] = pi*NNradius[t]*NNradius[t]\n",
    "\n",
    "#LET'S WRITE AN OUTPUT FILE BEFORE WE FORGET :-)\n",
    "paramList = [\"STATE\",\"stateGOP\",\"nDistricts\",\"nTracts\",\"nPrecincts\",\"nWedges\",\"popn-toler\"]\n",
    "paramValues = [STATE,stateGOP, nDistricts, nTracts,nPrecincts,1, toler]\n",
    "for i in range(nTracts-len(paramList)):\n",
    "    paramList.append(\".\")\n",
    "    paramValues.append(-99)  #so all columns have same number of entries, even the parameter list\n",
    "df = pd.DataFrame( {\"paramList\": paramList,\"paramValues\":paramValues,\"HD-pop\":NNvPop,\"NNvGOP\":NNvGOP,\n",
    "                    \"HDwt\":HDweight,\"NNarea\":NNarea, \"tractNo\":tractNo,\n",
    "                    \"Loops\":tractLoopCounter,\"tractPop\":tractPop,\n",
    "                    \"centroid x\":tractCPx,\"centroid y\":tractCPy, \"NNtractUse\":NNtractUse} ) \n",
    "\n",
    "outname = STATE+str(nDistricts)+\"tol\"+str(toler)+\"NN\"+date+\".csv\"\n",
    "outpath = \"state_HD_output/\"+outname\n",
    "df.to_csv(outpath)\n",
    "precinctNo = [0.]*nPrecincts\n",
    "vtdX = [0.]*nPrecincts\n",
    "vtdY = [0.]*nPrecincts\n",
    "for p in range(nPrecincts):\n",
    "    precinctNo[p]=p\n",
    "    vtdX[p] = vtdGeom[p].centroid.x\n",
    "    vtdY[p] = vtdGeom[p].centroid.y\n",
    "df2 = pd.DataFrame( {\"precinctNo\":precinctNo,\"precinctPop\":vtdPop,\"precUse\":NNprecinctUse, \"vtdX\":vtdX, \"vtdY\":vtdY} )\n",
    "outname2 = STATE+date+\"_VTD_tol\"+str(toler)+\"NN\"+\".csv\"\n",
    "outpath = \"state_HD_output/\"+outname2\n",
    "df2.to_csv(outpath)  #currently, I'm outputting the precinct use stats to a separate file."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "ab450500-f1a4-4292-a2fe-71eb2217121d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "I am working on tract number 0 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 0\n",
      "we have 2 non-opposing shorted wedges for tract no 1\n",
      "I am working on tract number 20 of 2796 tracts\n",
      "I am working on tract number 40 of 2796 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 56 3 424616.1133028639 2.3632\n",
      "7 yoyos for tract,wedge,wedgePop,r= 57 3 402332.0206056189 2.1575\n",
      "7 yoyos for tract,wedge,wedgePop,r= 58 3 453660.82908572647 1.9808\n",
      "8 yoyos for tract,wedge,wedgePop,r= 58 3 38437.36930355325 0.9904\n",
      "9 yoyos for tract,wedge,wedgePop,r= 58 3 454909.0361485762 2.0083\n",
      "9 yoyos for tract,wedge,wedgePop,r= 58 3 289021.469486699 1.4994\n",
      "10 yoyos for tract,wedge,wedgePop,r= 58 3 74935.80594690554 1.2449\n",
      "10 yoyos for tract,wedge,wedgePop,r= 58 3 150570.3113783514 1.3721\n",
      "10 yoyos for tract,wedge,wedgePop,r= 58 3 214173.35408594037 1.4357\n",
      "11 yoyos for tract,wedge,wedgePop,r= 58 3 247437.28627688298 1.4675\n",
      "11 yoyos for tract,wedge,wedgePop,r= 58 3 230592.7413946971 1.4516\n",
      "I am working on tract number 60 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 63\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 76 3.0 2 90.0 0.7916 334280.6\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 76 7.0 0 84.8 0.8213 311187.4\n",
      "I am working on tract number 80 of 2796 tracts\n",
      "I am working on tract number 100 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 106\n",
      "I am working on tract number 120 of 2796 tracts\n",
      "I am working on tract number 140 of 2796 tracts\n",
      "I am working on tract number 160 of 2796 tracts\n",
      "I am working on tract number 180 of 2796 tracts\n",
      "I am working on tract number 200 of 2796 tracts\n",
      "I am working on tract number 220 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 229\n",
      "we have 2 non-opposing shorted wedges for tract no 234\n",
      "I am working on tract number 240 of 2796 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 242 1 384917.2486471181 1.795\n",
      "8 yoyos for tract,wedge,wedgePop,r= 242 1 48870.963030407846 0.8975\n",
      "9 yoyos for tract,wedge,wedgePop,r= 242 1 488737.9778742684 2.2583\n",
      "10 yoyos for tract,wedge,wedgePop,r= 242 1 107464.15910989675 1.5779\n",
      "11 yoyos for tract,wedge,wedgePop,r= 242 1 461426.19417125545 1.9181\n",
      "11 yoyos for tract,wedge,wedgePop,r= 242 1 318318.0681338988 1.748\n",
      "12 yoyos for tract,wedge,wedgePop,r= 242 1 204011.2622715834 1.6629\n",
      "12 yoyos for tract,wedge,wedgePop,r= 242 1 252006.63739216313 1.7055\n",
      "12 yoyos for tract,wedge,wedgePop,r= 242 1 283537.48267198674 1.7267\n",
      "13 yoyos for tract,wedge,wedgePop,r= 242 1 301799.5403577011 1.7374\n",
      "we have 2 non-opposing shorted wedges for tract no 245\n",
      "7 yoyos for tract,wedge,wedgePop,r= 258 3 365349.9194263181 1.62\n",
      "8 yoyos for tract,wedge,wedgePop,r= 258 3 25163.178572808567 0.81\n",
      "9 yoyos for tract,wedge,wedgePop,r= 258 3 365518.24630168756 1.6242\n",
      "9 yoyos for tract,wedge,wedgePop,r= 258 3 240232.96594136258 1.2171\n",
      "10 yoyos for tract,wedge,wedgePop,r= 258 3 54213.52078566502 1.0136\n",
      "10 yoyos for tract,wedge,wedgePop,r= 258 3 100076.88447693063 1.1153\n",
      "10 yoyos for tract,wedge,wedgePop,r= 258 3 166106.25187006325 1.1662\n",
      "11 yoyos for tract,wedge,wedgePop,r= 258 3 204572.08942610983 1.1916\n",
      "12 yoyos for tract,wedge,wedgePop,r= 258 3 185357.1592942739 1.1789\n",
      "I am working on tract number 260 of 2796 tracts\n",
      "I am working on tract number 280 of 2796 tracts\n",
      "I am working on tract number 300 of 2796 tracts\n",
      "I am working on tract number 320 of 2796 tracts\n",
      "I am working on tract number 340 of 2796 tracts\n",
      "I am working on tract number 360 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 376\n",
      "I am working on tract number 380 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 380\n",
      "we have 2 non-opposing shorted wedges for tract no 396\n",
      "I am working on tract number 400 of 2796 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 409 1 394248.49689289846 2.101\n",
      "we have 2 non-opposing shorted wedges for tract no 414\n",
      "we have 2 non-opposing shorted wedges for tract no 417\n",
      "I am working on tract number 420 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 420\n",
      "7 yoyos for tract,wedge,wedgePop,r= 423 1 266970.81148332864 1.1632\n",
      "8 yoyos for tract,wedge,wedgePop,r= 423 1 6682.600062639016 0.5816\n",
      "9 yoyos for tract,wedge,wedgePop,r= 423 1 289688.7877193823 1.2138\n",
      "10 yoyos for tract,wedge,wedgePop,r= 423 1 21486.41022642795 0.8977\n",
      "10 yoyos for tract,wedge,wedgePop,r= 423 1 149646.76331551385 1.0557\n",
      "11 yoyos for tract,wedge,wedgePop,r= 423 1 247341.2763823006 1.1347\n",
      "12 yoyos for tract,wedge,wedgePop,r= 423 1 200958.0927607405 1.0952\n",
      "7 yoyos for tract,wedge,wedgePop,r= 429 0 419027.2231482314 2.6044\n",
      "8 yoyos for tract,wedge,wedgePop,r= 429 0 70632.9505620405 1.3022\n",
      "9 yoyos for tract,wedge,wedgePop,r= 429 0 422098.0433742067 2.8602\n",
      "10 yoyos for tract,wedge,wedgePop,r= 429 0 203366.3139552084 2.0812\n",
      "11 yoyos for tract,wedge,wedgePop,r= 429 0 410979.1278273186 2.4707\n",
      "11 yoyos for tract,wedge,wedgePop,r= 429 0 338816.52995934687 2.276\n",
      "11 yoyos for tract,wedge,wedgePop,r= 429 0 269246.5836533793 2.1786\n",
      "12 yoyos for tract,wedge,wedgePop,r= 429 0 236149.10838340354 2.1299\n",
      "7 yoyos for tract,wedge,wedgePop,r= 431 3 618118.7604011818 2.6676\n",
      "8 yoyos for tract,wedge,wedgePop,r= 431 3 104175.52867263067 1.3338\n",
      "9 yoyos for tract,wedge,wedgePop,r= 431 3 638014.3715243348 2.7983\n",
      "9 yoyos for tract,wedge,wedgePop,r= 431 3 514858.05141184083 2.0661\n",
      "10 yoyos for tract,wedge,wedgePop,r= 431 3 150815.15581603517 1.6999\n",
      "10 yoyos for tract,wedge,wedgePop,r= 431 3 301618.69134864875 1.883\n",
      "11 yoyos for tract,wedge,wedgePop,r= 431 3 414284.5895356138 1.9745\n",
      "11 yoyos for tract,wedge,wedgePop,r= 431 3 353280.10720890865 1.9288\n",
      "11 yoyos for tract,wedge,wedgePop,r= 431 3 327766.59287154063 1.9059\n",
      "11 yoyos for tract,wedge,wedgePop,r= 431 3 314935.42376234854 1.8944\n",
      "I am working on tract number 440 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 442\n",
      "I am working on tract number 460 of 2796 tracts\n",
      "I am working on tract number 480 of 2796 tracts\n",
      "I am working on tract number 500 of 2796 tracts\n",
      "I am working on tract number 520 of 2796 tracts\n",
      "I am working on tract number 540 of 2796 tracts\n",
      "I am working on tract number 560 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 572\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 573 7.0 1 52.0 2.3595 233691.7\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 573 8.0 1 52.0 2.3507 233691.7\n",
      "I am working on tract number 580 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 583\n",
      "I am working on tract number 600 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 619\n",
      "I am working on tract number 620 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 620\n",
      "we have 2 non-opposing shorted wedges for tract no 630\n",
      "I am working on tract number 640 of 2796 tracts\n",
      "I am working on tract number 660 of 2796 tracts\n",
      "I am working on tract number 680 of 2796 tracts\n",
      "I am working on tract number 700 of 2796 tracts\n",
      "I am working on tract number 720 of 2796 tracts\n",
      "I am working on tract number 740 of 2796 tracts\n",
      "I am working on tract number 760 of 2796 tracts\n",
      "I am working on tract number 780 of 2796 tracts\n",
      "I am working on tract number 800 of 2796 tracts\n",
      "I am working on tract number 820 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 826 6.0 3 45.2 2.1663 367623.3\n",
      "I am working on tract number 840 of 2796 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 842 1 379395.02885797806 1.6982\n",
      "I am working on tract number 860 of 2796 tracts\n",
      "I am working on tract number 880 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 889\n",
      "I am working on tract number 900 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 909\n",
      "I am working on tract number 920 of 2796 tracts\n",
      "I am working on tract number 940 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 942 2.0 2 90.0 0.8478 264509.6\n",
      "7 yoyos for tract,wedge,wedgePop,r= 958 3 382760.8081274048 2.4072\n",
      "we have 2 non-opposing shorted wedges for tract no 959\n",
      "I am working on tract number 960 of 2796 tracts\n",
      "I am working on tract number 980 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 984\n",
      "we have 2 non-opposing shorted wedges for tract no 986\n",
      "I am working on tract number 1000 of 2796 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1002 1 326973.90004457126 1.5046\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1002 1 30599.785967423755 0.7523\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1002 1 335657.93139272276 1.6326\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1002 1 100998.22390138108 1.1925\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1002 1 260084.23119291043 1.4126\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1002 1 329924.87764546275 1.5226\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1002 1 317041.596683857 1.4676\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1002 1 295764.2360652052 1.4401\n",
      "we have 2 non-opposing shorted wedges for tract no 1017\n",
      "we have 2 non-opposing shorted wedges for tract no 1019\n",
      "I am working on tract number 1020 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1033 5.0 0 85.5 0.9684 206537.4\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1033 6.0 0 85.5 0.9137 206537.4\n",
      "I am working on tract number 1040 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1052 4.0 0 115.2 0.9396 242080.0\n",
      "I am working on tract number 1060 of 2796 tracts\n",
      "I am working on tract number 1080 of 2796 tracts\n",
      "I am working on tract number 1100 of 2796 tracts\n",
      "I am working on tract number 1120 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1137 3.0 1 83.9 0.7056 193778.4\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1137 4.0 1 83.9 0.6987 193778.4\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1137 5.0 1 83.9 0.692 193778.4\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1137 6.0 1 83.9 0.6852 193778.4\n",
      "I am working on tract number 1140 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1148\n",
      "I am working on tract number 1160 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1173\n",
      "we have 2 non-opposing shorted wedges for tract no 1174\n",
      "I am working on tract number 1180 of 2796 tracts\n",
      "I am working on tract number 1200 of 2796 tracts\n",
      "I am working on tract number 1220 of 2796 tracts\n",
      "I am working on tract number 1240 of 2796 tracts\n",
      "I am working on tract number 1260 of 2796 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1267 3 380831.5200162392 1.565\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1267 3 27556.7641287889 0.7825\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1267 3 380845.47820385866 1.5654\n",
      "I am working on tract number 1280 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1290 2.0 2 90.0 0.8044 366144.7\n",
      "I am working on tract number 1300 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1313 7.0 0 110.9 1.1671 196515.4\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1313 8.0 0 110.9 1.1436 196515.4\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1313 9.0 0 110.9 1.1206 196515.4\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1313 10.0 0 110.9 1.0981 196515.4\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1313 11.0 0 110.9 1.076 196515.4\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1313 12.0 0 110.9 1.0544 196515.4\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1313 13.0 0 110.9 1.0332 196515.4\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1313 14.0 0 110.9 1.0125 196515.4\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1313 1 474076.0972876261 1.7288\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1313 1 39590.86737267458 0.8644\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1313 1 474078.7027452211 1.7288\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1313 1 261842.7772967457 1.2966\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1313 1 69235.88024216567 1.0805\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1313 1 131318.53177096718 1.1886\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1313 1 200116.51693446754 1.2426\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1313 1 167327.53162723593 1.2156\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1313 1 184214.87436897034 1.2291\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1315 8.0 3 90.0 1.6129 371684.5\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1315 1 28940.335085686354 0.6789\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1315 1 600975.1456693637 2.3946\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1315 1 459762.881347561 1.5368\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1315 1 83829.47253031691 1.1078\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1315 1 351474.7837774568 1.3223\n",
      "loop31.0, tr1315,wedgePops777985.94, 184768.3, 206560.3, 193306.9, 193350.5, Overedge?1, 0, 0, 0, ,Satisfied?0011,yoyo?01000 \n",
      "   targetWP, latest drx4 are tWP,dr, 193456.0,0.0524, 193456.0,-0.1072, 193456.0,0.0037, 193456.0,0.0003\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1315 1 206560.33082647415 1.2151\n",
      "loop32.0, tr1315,wedgePops706998.6, 184768.3, 135573.0, 193306.9, 193350.5, Overedge?1, 0, 0, 0, ,Satisfied?0011,yoyo?01000 \n",
      "   targetWP, latest drx4 are tWP,dr, 193456.0,0.0524, 193456.0,-0.0536, 193456.0,0.0037, 193456.0,0.0003\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1315 1 135572.9925523395 1.1614\n",
      "loop33.0, tr1315,wedgePops746429.41, 184768.3, 175003.8, 193306.9, 193350.5, Overedge?1, 0, 0, 0, ,Satisfied?0011,yoyo?01100 \n",
      "   targetWP, latest drx4 are tWP,dr, 193456.0,0.0524, 193456.0,0.0268, 193456.0,0.0037, 193456.0,0.0003\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1315 1 175003.801409412 1.1882\n",
      "loop34.0, tr1315,wedgePops763476.98, 184768.3, 192051.4, 193306.9, 193350.5, Overedge?1, 0, 0, 0, ,Satisfied?0011,yoyo?01100 \n",
      "   targetWP, latest drx4 are tWP,dr, 193456.0,0.0524, 193456.0,0.0134, 193456.0,0.0037, 193456.0,0.0003\n",
      "I am working on tract number 1320 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1333 7.0 1 49.6 2.501 267655.6\n",
      "I am working on tract number 1340 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1348 4.0 3 90.0 1.523 198307.5\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1348 5.0 3 90.0 1.4822 198307.5\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1349 5.0 0 112.6 0.8264 199257.2\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1349 6.0 0 112.6 0.8014 199257.2\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1349 7.0 0 112.6 0.7771 199257.2\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1349 8.0 0 112.6 0.7535 199257.2\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1349 9.0 0 112.6 0.7307 199257.2\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1349 10.0 0 112.6 0.7085 199257.2\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1349 11.0 0 112.6 0.6871 199257.2\n",
      "I am working on tract number 1360 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1371\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1372 3 369094.4867941217 1.2115\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1372 3 251163.71801404952 0.6057\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1372 3 384376.34576835483 1.2599\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1372 3 300928.862891395 0.9328\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1372 3 314404.39979935106 1.0963\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1372 3 349846.4722644537 1.1781\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1372 3 372816.73588761216 1.219\n",
      "we have 2 non-opposing shorted wedges for tract no 1373\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1377 1 461301.87772913015 2.4949\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1377 1 52501.30256311153 1.2474\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1377 1 465473.28007104463 2.5586\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1377 1 438404.26379038725 1.903\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1377 1 133513.93672589335 1.5752\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1377 1 358929.2245079281 1.7391\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1377 1 234170.22483445233 1.6572\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1377 1 171927.46455121948 1.6162\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1377 1 199776.57359125582 1.6367\n",
      "13 yoyos for tract,wedge,wedgePop,r= 1377 1 217162.75460381564 1.6469\n",
      "I am working on tract number 1380 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1381\n",
      "we have 2 non-opposing shorted wedges for tract no 1382\n",
      "we have 2 non-opposing shorted wedges for tract no 1396\n",
      "I am working on tract number 1400 of 2796 tracts\n",
      "I am working on tract number 1420 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1422\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1428 6.0 3 45.3 2.1295 395113.9\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1429 1 371209.00760104985 1.573\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1429 1 101131.34865074564 0.7865\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1429 1 371339.21763486776 1.5752\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1429 1 159042.62627966717 1.1808\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1429 1 356417.77886023314 1.378\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1429 1 277335.2062605476 1.2794\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1429 1 210289.17298531072 1.2301\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1432 3 285273.60128522 1.6812\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1439 1 327862.05764630984 1.3961\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1439 1 63044.29285939387 0.6981\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1439 1 327866.11174117774 1.3963\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1439 1 96625.1543032502 1.0472\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1439 1 198927.21467043698 1.2217\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1439 1 305284.26738873054 1.309\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1439 1 259154.33294407002 1.2654\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1439 1 228367.66097987027 1.2435\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1439 1 241728.36750972364 1.2545\n",
      "I am working on tract number 1440 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1440\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1453 1 325735.7559995561 1.5822\n",
      "I am working on tract number 1460 of 2796 tracts\n",
      "I am working on tract number 1480 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1492\n",
      "we have 2 non-opposing shorted wedges for tract no 1495\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1497 9.0 1 50.6 2.5624 258140.4\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1497 10.0 1 50.6 2.4032 258140.4\n",
      "I am working on tract number 1500 of 2796 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1519 1 585339.128709185 2.5474\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1519 1 155146.01964854362 1.2737\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1519 1 591670.9154131716 2.677\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1519 1 542196.4776147844 1.9754\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1519 1 186705.1510410742 1.6245\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1519 1 344137.63538161456 1.8\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1519 1 477368.2186417891 1.8877\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1519 1 414103.9207062155 1.8438\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1519 1 377954.3864368299 1.8219\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1519 1 358825.60550429276 1.8109\n",
      "I am working on tract number 1520 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1520\n",
      "I am working on tract number 1540 of 2796 tracts\n",
      "I am working on tract number 1560 of 2796 tracts\n",
      "I am working on tract number 1580 of 2796 tracts\n",
      "I am working on tract number 1600 of 2796 tracts\n",
      "I am working on tract number 1620 of 2796 tracts\n",
      "I am working on tract number 1640 of 2796 tracts\n",
      "I am working on tract number 1660 of 2796 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1664 0 309438.09915777977 1.4964\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1664 0 55994.40994285839 0.7482\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1664 0 319863.2966383422 1.6324\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1664 0 169848.22995275326 1.1903\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1664 0 301035.66389936476 1.4113\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1664 0 279548.86346697604 1.3008\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1664 0 227795.91234792312 1.2455\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1664 0 196695.86023465986 1.2179\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1664 0 183189.1733267347 1.2041\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1666 0 241134.30860310546 1.3223\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1666 0 41774.50275127523 0.6611\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1666 0 249203.82716026434 1.3843\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1666 0 67288.81871876924 1.0227\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1666 0 151484.76949474966 1.2035\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1666 0 234014.8031340026 1.2939\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1666 0 198971.69569493423 1.2487\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1666 0 175472.55196277157 1.2261\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1666 0 187756.14818251925 1.2374\n",
      "I am working on tract number 1680 of 2796 tracts\n",
      "I am working on tract number 1700 of 2796 tracts\n",
      "I am working on tract number 1720 of 2796 tracts\n",
      "I am working on tract number 1740 of 2796 tracts\n",
      "I am working on tract number 1760 of 2796 tracts\n",
      "I am working on tract number 1780 of 2796 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1787 3 510781.3682259785 2.4503\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1787 3 76948.3545646437 1.2251\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1787 3 532761.1749983032 2.636\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1787 3 460465.3397177062 1.9306\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1787 3 118669.4852998543 1.5779\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1787 3 256265.96913760682 1.7542\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1787 3 162482.67020971805 1.666\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1787 3 205985.5965344879 1.7101\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1787 3 231437.9088770956 1.7322\n",
      "13 yoyos for tract,wedge,wedgePop,r= 1787 3 244306.635354253 1.7432\n",
      "I am working on tract number 1800 of 2796 tracts\n",
      "I am working on tract number 1820 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1822 6.0 3 36.2 2.2187 369981.6\n",
      "we have 2 non-opposing shorted wedges for tract no 1831\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1837 3.0 0 102.5 1.0136 199589.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1837 4.0 0 102.5 0.9816 199589.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1837 5.0 0 102.5 0.9506 199589.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1837 6.0 0 102.5 0.9207 199589.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1837 7.0 0 102.5 0.8916 199589.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1837 8.0 0 102.5 0.8635 199589.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1837 9.0 0 102.5 0.8363 199589.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1837 10.0 0 102.5 0.8099 199589.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1837 11.0 0 102.5 0.7843 199589.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1837 12.0 0 102.5 0.7596 199589.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1837 13.0 0 102.5 0.7357 199589.0\n",
      "I am working on tract number 1840 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1841\n",
      "I am working on tract number 1860 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1873 4.0 3 90.0 1.0537 202218.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1873 5.0 3 90.0 1.0104 202218.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1873 6.0 3 90.0 0.9688 202218.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1873 7.0 3 90.0 0.929 202218.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1873 8.0 3 90.0 0.8908 202218.1\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1875 1 448921.7541079406 1.6586\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1875 1 29576.469498447725 0.8293\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1875 1 449909.9539154523 1.6742\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1875 1 343924.1088085354 1.2517\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1875 1 66792.37950031791 1.0405\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1875 1 197087.79065952823 1.1461\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1875 1 267869.6518544165 1.1989\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1875 1 231597.32735573698 1.1725\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1876 2.0 3 90.0 0.8208 278023.7\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1878 3.0 3 46.9 0.9037 267544.7\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1879 5.0 0 108.4 1.1118 231848.7\n",
      "I am working on tract number 1880 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1880 5.0 0 116.1 1.1248 246795.4\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1880 1 442900.9256345366 1.736\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1880 1 35380.89407926286 0.868\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1880 1 440168.91019450425 1.6763\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1880 1 375384.38437949587 1.2721\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1880 1 107735.71348453365 1.0701\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1880 1 238187.63172985794 1.1711\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1880 1 163452.45649414806 1.1206\n",
      "13 yoyos for tract,wedge,wedgePop,r= 1880 1 197911.4736904705 1.1458\n",
      "14 yoyos for tract,wedge,wedgePop,r= 1880 1 179974.11513123725 1.1332\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1886 5.0 0 90.3 0.6138 192277.7\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1887 2.0 2 90.0 1.0241 196926.5\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1887 3 462323.9872532523 1.7727\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1887 3 36445.04398453038 0.8863\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1887 3 462325.75811901106 1.7727\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1887 3 273584.32975543186 1.3295\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1887 3 68742.36900094035 1.1079\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1887 3 137412.89067651608 1.2187\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1887 3 197338.39591590926 1.2741\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1887 3 162312.75999686128 1.2464\n",
      "12 yoyos for tract,wedge,wedgePop,r= 1887 3 178553.36457630072 1.2603\n",
      "we have 2 non-opposing shorted wedges for tract no 1891\n",
      "I am working on tract number 1900 of 2796 tracts\n",
      "I am working on tract number 1920 of 2796 tracts\n",
      "I am working on tract number 1940 of 2796 tracts\n",
      "I am working on tract number 1960 of 2796 tracts\n",
      "I am working on tract number 1980 of 2796 tracts\n",
      "I am working on tract number 2000 of 2796 tracts\n",
      "I am working on tract number 2020 of 2796 tracts\n",
      "I am working on tract number 2040 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2048\n",
      "we have 2 non-opposing shorted wedges for tract no 2050\n",
      "we have 2 non-opposing shorted wedges for tract no 2052\n",
      "we have 2 non-opposing shorted wedges for tract no 2054\n",
      "we have 2 non-opposing shorted wedges for tract no 2057\n",
      "we have 2 non-opposing shorted wedges for tract no 2058\n",
      "we have 2 non-opposing shorted wedges for tract no 2059\n",
      "I am working on tract number 2060 of 2796 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2064 3 196099.90766353457 0.5978\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2064 3 9403.38538280438 0.2989\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2064 3 200234.00408562127 0.6284\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2064 3 106025.48342901711 0.4637\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2064 3 185390.63686685835 0.546\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2067 3 18865.037558450073 0.689\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2067 3 584522.4763304142 2.4169\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2067 3 436430.55542295444 1.553\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2067 3 93268.13270620856 1.121\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2067 3 360031.3119721913 1.337\n",
      "11 yoyos for tract,wedge,wedgePop,r= 2067 3 217349.9581061944 1.229\n",
      "12 yoyos for tract,wedge,wedgePop,r= 2067 3 281633.94239538774 1.283\n",
      "13 yoyos for tract,wedge,wedgePop,r= 2067 3 247583.12978842796 1.256\n",
      "14 yoyos for tract,wedge,wedgePop,r= 2067 3 266494.82334969414 1.2695\n",
      "we have 2 non-opposing shorted wedges for tract no 2070\n",
      "I am working on tract number 2080 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2085\n",
      "we have 2 non-opposing shorted wedges for tract no 2086\n",
      "we have 2 non-opposing shorted wedges for tract no 2087\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2092 2.0 2 90.0 0.8086 286329.7\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2092 5.0 1 54.7 0.9697 250356.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2092 6.0 1 54.7 0.8607 250356.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2092 7.0 1 54.7 0.764 250356.0\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2094 2 456618.02122229285 2.4252\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2094 2 64764.72969832743 1.2126\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2094 2 457255.34122580406 2.4321\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2094 2 429723.74535546603 1.8224\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2094 2 105890.71498748654 1.5175\n",
      "11 yoyos for tract,wedge,wedgePop,r= 2094 2 248699.78636824808 1.6699\n",
      "12 yoyos for tract,wedge,wedgePop,r= 2094 2 162348.59327726002 1.5937\n",
      "13 yoyos for tract,wedge,wedgePop,r= 2094 2 202843.9789187845 1.6318\n",
      "14 yoyos for tract,wedge,wedgePop,r= 2094 2 180244.53554771727 1.6128\n",
      "I am working on tract number 2100 of 2796 tracts\n",
      "I am working on tract number 2120 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2132\n",
      "I am working on tract number 2140 of 2796 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2142 0 404623.7518477142 1.9952\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2142 0 35092.334128460265 0.9976\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2142 0 402013.4580270247 1.8758\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2142 0 388337.06646134733 1.4367\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2142 0 138430.21037344664 1.2172\n",
      "11 yoyos for tract,wedge,wedgePop,r= 2142 0 292173.88933136594 1.3269\n",
      "11 yoyos for tract,wedge,wedgePop,r= 2142 0 203333.91380547432 1.272\n",
      "12 yoyos for tract,wedge,wedgePop,r= 2142 0 170431.2918170173 1.2446\n",
      "12 yoyos for tract,wedge,wedgePop,r= 2142 0 185942.65346774497 1.2583\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2145 3.0 2 90.0 0.9672 268328.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2148 3.0 0 83.4 0.9298 251849.4\n",
      "we have 2 non-opposing shorted wedges for tract no 2152\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2156 13.0 3 88.6 1.5127 222977.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2156 18.0 3 88.6 1.5937 222977.0\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2156 3 75960.72301258106 0.7319\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2156 3 222976.95379992822 2.428\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2156 26.0 3 88.6 1.58 222977.0\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2156 3 222976.95379992822 1.58\n",
      "I am working on tract number 2160 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2162\n",
      "we have 2 non-opposing shorted wedges for tract no 2164\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2168 9.0 0 110.5 1.7138 273987.5\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2168 14.0 0 110.5 1.7246 273987.5\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2168 19.0 0 110.5 1.7208 273987.5\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2168 0 273987.4624387446 1.9261\n",
      "I am working on tract number 2180 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2199 13.0 0 108.1 1.6967 272753.3\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2199 18.0 0 108.1 1.7002 272753.3\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2199 0 272753.32718418067 1.903\n",
      "I am working on tract number 2200 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2204 2.0 1 90.0 1.0332 194072.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2204 3.0 1 90.0 1.022 194072.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2204 4.0 1 90.0 1.011 194072.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2204 5.0 1 90.0 1.0001 194072.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2204 6.0 1 90.0 0.9892 194072.1\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2212 1 252507.988741993 0.8916\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2212 1 44605.88254650688 0.4458\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2212 1 282165.2428209698 0.9421\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2212 1 67079.47936075676 0.694\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2212 1 153061.35980536375 0.818\n",
      "I am working on tract number 2220 of 2796 tracts\n",
      "I am working on tract number 2240 of 2796 tracts\n",
      "I am working on tract number 2260 of 2796 tracts\n",
      "I am working on tract number 2280 of 2796 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2281 1 358857.61163803074 1.5835\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2281 1 92692.73167929164 0.7918\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2281 1 359390.6554072039 1.5939\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2281 1 222357.3690871991 1.1928\n",
      "11 yoyos for tract,wedge,wedgePop,r= 2281 1 348275.9488594063 1.3933\n",
      "11 yoyos for tract,wedge,wedgePop,r= 2281 1 333676.4503782217 1.2931\n",
      "11 yoyos for tract,wedge,wedgePop,r= 2281 1 291132.1986847788 1.243\n",
      "11 yoyos for tract,wedge,wedgePop,r= 2281 1 254400.40050671517 1.2179\n",
      "we have 2 non-opposing shorted wedges for tract no 2295\n",
      "I am working on tract number 2300 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2304 13.0 3 89.2 1.5139 223007.6\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2304 18.0 3 89.2 1.5105 223007.6\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2304 23.0 3 89.2 1.5101 223007.6\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2304 3 89380.67409099513 0.6745\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2304 3 223007.57428121084 2.2897\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2304 27.0 3 89.2 1.4821 223007.6\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2304 3 223007.57428121084 1.4821\n",
      "I am working on tract number 2320 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2324 4.0 3 36.3 1.8493 347303.6\n",
      "we have 2 non-opposing shorted wedges for tract no 2330\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2332 0 197906.94036998696 0.6352\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2332 0 4173.882923940662 0.3176\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2332 0 198586.59399575394 0.6801\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2332 0 117312.03481112995 0.4988\n",
      "11 yoyos for tract,wedge,wedgePop,r= 2332 0 194774.25678876328 0.5895\n",
      "12 yoyos for tract,wedge,wedgePop,r= 2332 0 175397.3634000694 0.5441\n",
      "I am working on tract number 2340 of 2796 tracts\n",
      "I am working on tract number 2360 of 2796 tracts\n",
      "I am working on tract number 2380 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2386 21.0 0 119.1 1.9923 363104.0\n",
      "I am working on tract number 2400 of 2796 tracts\n",
      "I am working on tract number 2420 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2435\n",
      "we have 2 non-opposing shorted wedges for tract no 2436\n",
      "we have 2 non-opposing shorted wedges for tract no 2439\n",
      "I am working on tract number 2440 of 2796 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2446 2 303724.29137622716 1.742\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2446 2 76243.50214103312 0.871\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2446 2 428736.4113434253 1.8925\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2446 2 97732.21899315965 1.3818\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2446 2 154684.2774536189 1.6372\n",
      "11 yoyos for tract,wedge,wedgePop,r= 2446 2 333040.01562137064 1.7648\n",
      "11 yoyos for tract,wedge,wedgePop,r= 2446 2 243325.8505816851 1.701\n",
      "I am working on tract number 2460 of 2796 tracts\n",
      "I am working on tract number 2480 of 2796 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2481 0 356661.45526258263 1.9635\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2481 0 79219.47938632598 0.9818\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2481 0 356674.68982794316 1.9649\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2481 0 251529.925342209 1.4733\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2481 0 99854.54489408634 1.2275\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2481 0 131376.6137185217 1.3504\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2481 0 182782.74052225152 1.4119\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2490 7.0 0 86.8 1.3429 197793.8\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2490 8.0 0 86.8 1.3095 197793.8\n",
      "I am working on tract number 2500 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2501 4.0 1 38.2 1.9387 374133.6\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2501 5.0 1 38.2 1.8984 374133.6\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2501 6.0 1 38.2 1.8589 374133.6\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2501 7.0 1 38.2 1.8202 374133.6\n",
      "we have 2 non-opposing shorted wedges for tract no 2511\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2514 3.0 0 90.0 1.3049 209801.5\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2517 6.0 3 41.3 1.1758 243661.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2517 7.0 3 41.3 1.1715 243661.0\n",
      "I am working on tract number 2520 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2521 10.0 3 91.4 1.5501 246293.9\n",
      "I am working on tract number 2540 of 2796 tracts\n",
      "I am working on tract number 2560 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2576\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2577 3 451578.434021903 2.5766\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2577 3 71569.1739061714 1.2883\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2577 3 432564.6872550801 2.1687\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2577 3 413824.02417678514 1.7285\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2577 3 306585.1664734645 1.5084\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2577 3 168850.24456448221 1.3983\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2577 3 227840.11483982165 1.4534\n",
      "11 yoyos for tract,wedge,wedgePop,r= 2577 3 263979.7727886713 1.4809\n",
      "11 yoyos for tract,wedge,wedgePop,r= 2577 3 243775.92892025562 1.4671\n",
      "I am working on tract number 2580 of 2796 tracts\n",
      "I am working on tract number 2600 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2618\n",
      "I am working on tract number 2620 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2629\n",
      "I am working on tract number 2640 of 2796 tracts\n",
      "I am working on tract number 2660 of 2796 tracts\n",
      "I am working on tract number 2680 of 2796 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2682\n",
      "I am working on tract number 2700 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2702 2.0 2 90.0 0.8249 300713.4\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2704 2.0 3 90.0 0.8813 282953.3\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2704 3.0 3 90.0 0.6463 282953.3\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2708 2.0 1 90.0 1.0201 195545.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2708 3.0 1 90.0 1.0033 195545.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2708 4.0 1 90.0 0.9868 195545.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2708 5.0 1 90.0 0.9706 195545.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2709 3.0 0 115.5 0.9641 225477.0\n",
      "I am working on tract number 2720 of 2796 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2720 3 408716.10724865255 2.497\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2721 3 456781.62681305065 2.3332\n",
      "8 yoyos for tract,wedge,wedgePop,r= 2721 3 51401.1681343824 1.1666\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2721 3 456781.6268130539 2.3787\n",
      "9 yoyos for tract,wedge,wedgePop,r= 2721 3 334459.2731224949 1.7727\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2721 3 84117.31925539521 1.4696\n",
      "10 yoyos for tract,wedge,wedgePop,r= 2721 3 149248.8358201234 1.6211\n",
      "we have 2 non-opposing shorted wedges for tract no 2726\n",
      "I am working on tract number 2740 of 2796 tracts\n",
      "I am working on tract number 2760 of 2796 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2779 2.0 1 90.0 0.6904 286642.8\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2779 3.0 1 90.0 0.5008 286642.8\n",
      "I am working on tract number 2780 of 2796 tracts\n",
      "Sum of weights over all precinct home districts should have been 1.000, but was  1.000068\n",
      "Average and max number of wedgePop loops per tract were:  6.233547925608011 34.0\n",
      "min,average,max of Home District areas were:  0.0 1.1275806437620532 4.161424087907635\n",
      "calculated statewide vote was 0.5042743902606279, should have been 0.498716661561674\n",
      "calcd statewide Hispanic pop was 0.08704434258993136, should have been 0.09037508968679146\n",
      "calcd statewide Black pop was 0.28851015451688633, should have been 0.3027170383858251\n",
      "fraction of HDs that with altered wedge angles near boundaries =  0.30221745350500717\n"
     ]
    }
   ],
   "source": [
    "#3/13/22 - from HD2, but using coeff1, coeff2 (unrestricted opp wedge pop, wideAngle quadratic in ratio)\n",
    "# Bisect for yoyo > 3, precinct calcs after wedges finalized.  More aggressive Euler gain\n",
    "#minTractPop = 10  #this is set in a prior block\n",
    "pi=3.1415926536\n",
    "nWedges = 4  #number of wedges per home district polygon  \n",
    "avgWedgeAngle = 2*pi / nWedges\n",
    "wedgeTriAR = [math.sin(pi/nWedges)*math.cos(pi/nWedges)]*nWedges  #wedge triangle area ratio (= area / r*r)\n",
    "angle = [0.]*nWedges\n",
    "angle2 = [0.]*nWedges\n",
    "pt1 = [Point(0,0)]*nWedges  #these four define the polygon wedge for a growing home district\n",
    "pt2 = [Point(0,0)]*nWedges\n",
    "pt3 = [Point(0,0)]*nWedges\n",
    "pt4 = [Point(0,0)]*nWedges\n",
    "oldR = [0.]*nWedges  #wedge radius from previous loop\n",
    "# guessedR = [0.]*nWedges  #obsolete; was wedge radius if we extrapolate from population density of most recent wedge piece\n",
    "printPoly = [Polygon([(0,0),(0,1),(1,1)])]*nWedges #for debugging\n",
    "wedgePop = [0.]*nWedges\n",
    "tractLoopCounter = [0.]* nTracts  #this tracks how many loops per tract to get to target wedge Pop\n",
    "nearEdge = [0.]* nTracts   #not yet implemented; this will flag tracts near map edge for reprocessing\n",
    "tractUse = [0.] * nTracts  #this will store how much we use this tract in ALL HD's vs. expectation\n",
    "precinctUse = [0.] * nPrecincts   #same, but for each precinct / VTD\n",
    "loopTractUse = [0.] * nTracts  #same as above two, but only for the current loop / tract\n",
    "loopPrecinctUse = [0.] * nPrecincts\n",
    "HDvPop = [0.]*nTracts\n",
    "HDvGOP = [0.]*nTracts  #GOP lean of each tract's \"home district\"\n",
    "HDvBlack = [0.]*nTracts\n",
    "HDvHisp = [0.]*nTracts #pct Hispanic by home district\n",
    "HDweight = [0.]*nTracts  #relative weight of each district.  In absence of splits, will equal precinct pop\n",
    "HDarea = [0.]*nTracts  #geographical area of each home district\n",
    "HDradius = [[0.]*nWedges for t in range(nTracts)] #final wedge length for each Home District wedge\n",
    "HDangle = [[0.]*nWedges for t in range(nTracts)] #final included angle for each HD wedge\n",
    "angle0 = [-999.] * nTracts  #orientation of 0th wedge.  Random except re-oriented if we are near-boundary\n",
    "toler = 0.005  #adjustable - fractional slop in district population.  normally 0.01, to be reduced to 0.005\n",
    "tolerPop = toler * avgDistrictPop  #absolute slop in district pop\n",
    "nLoopPrint = 30  #at this loop number, we alert user of problem\n",
    "nGiveUp = 40  #we punt after this many loops\n",
    "nLoopSuperPrint = nGiveUp - 2 # at this loop number, we output wedge growth visuals\n",
    "wrongPop = [0.]*nTracts\n",
    "normalGain = 0.8  #adjustable - a bit less than 1.0 for stability, how far we step relative to expected perfect guess\n",
    "EulerGain = 1.5 #if we hit empty land, gain more aggressively to get through it\n",
    "#yoyoFactor = 0.3 #rate of reduction in gain as solver continues to yoyo in solving a wedge  #not currently used ***\n",
    "globalMax_dr = (MAP.area/nDistricts) ** 0.5  #put a reasonable upper limit on wedge radial growth step size\n",
    "tractPrintInterval = 20  #for tracking progress\n",
    "minTractArea = 0.00001 * MAP.area / nTracts  #failsafe for later div-by-zero\n",
    "homePopDensity = avgGridDensity  #seed this\n",
    "didWeRestart = [0] * nTracts  #will flag if we adjusted wedge angles due to a single shorted wedge\n",
    "coeff1 = 0.3  #linear term. we will adjust this empirically to tighten tract weighting near boundaries\n",
    "coeff2 = 0.3  #quadratic term.  These two control distortion in wedge angles relative to wedgePop shortness\n",
    "minWedgePop = [avgDistrictPop/nWedges] * nTracts  #wedge pop for wedge facing boundary (for tracts near boundaries)\n",
    "maxWideAngle = 0.8 * pi  #adjustable parameter.  (avoid wedges too close to half a pie\n",
    "\n",
    "for t in range(nTracts) :  #(nTracts):  #loop on each tract.  Start by resetting stats\n",
    "    gain = normalGain  #in case last precinct had convergence problems\n",
    "    if (t % tractPrintInterval) == 0 : \n",
    "        print(\"I am working on tract number {0} of {1} tracts\".format(t,nTracts) )\n",
    "    tractLoopCounter[t] = 0.  #for stability stats, will track how many times we need to loop for each tract\n",
    "    # isActiveG = [0]*nGrids  #resets whether each grid is relevant to this tract (not used; see alt grid turn-on method)\n",
    "    if (tractArea[t] > minTractArea) :  #too lazy to indent everything.  We'll catch zero tractArea later\n",
    "        homePopDensity = tractPop[t]/tractArea[t]  #temporary - estimate the local density for initial step\n",
    "    tractCP = Point(tractGeom[t].centroid.x,tractGeom[t].centroid.y)  #shorthand for centroid of each tract\n",
    "    for nG in range(nGrids):\n",
    "        if gridGeom[nG].contains(tractCP) :  #which grid contains the centroid of this tract?  Turn it on!\n",
    "            # isActiveG[nG] = 1  #I don't think I use this\n",
    "            homeGridDensity = gridDensity[nG]\n",
    "    maxStartDensity = max(homePopDensity,homeGridDensity)\n",
    "    minR = (avgDistrictPop / maxStartDensity / pi)**0.5   # conservative estimated radius of this tract's district\n",
    "    tinyR = 0.01 * minR   #ensures we start with small, but not infinitesimal wedge populations\n",
    "    angle0[t] = random.uniform(0,2.*pi)  #imparts random orientation to our starting wedge\n",
    "    loopTractUse = [0.]*nTracts  #this and below help us reset tract n precinct use after a wedge reset\n",
    "    loopPrecinctUse = [0.]*nPrecincts\n",
    "    # ***GROW WEDGES SIMULTANEOUSLY via ARRAYS, SO WE CAN REACT ON FLY TO BOUNDARY STOPS\n",
    "    HDpop = 0.  #running total of this tract's \"home district\" population\n",
    "    nActiveWedges = nWedges #active wedges have not run over boudnary\n",
    "    targetWedgePop = [avgDistrictPop / nWedges]*nWedges  #at beginning, split districtPop equally among wedges\n",
    "    #latestWedgeDensity = [0.]*nWedges  #stop using # pop'n density of the wedge piece we just added or subtracted\n",
    "    wedgePop = [0.]*nWedges\n",
    "    oldWedgePop = [0.]*nWedges  #wedge pop from previous round (needed for NR projection)\n",
    "    wedgePopGap = [0.]*nWedges\n",
    "    isOverEdge = [0] *nWedges #each wedge is still fully inside map boundary\n",
    "    isSatisfied = [0] * nWedges #wedges close enough to target are not improved upon\n",
    "    yoyoCount = [0] * nWedges #tracks how many times we've reversed this wedge's growth vs. shrink at current wPop target\n",
    "    wedgeMaxR = [0.] * nWedges #will track the largest radius this wedge has seen (to cap yoyo bisection step)\n",
    "    wedgeAngle = [avgWedgeAngle] * nWedges #reset to equi-angle when starting each tract    \n",
    "    currentR = [0.]*nWedges\n",
    "    old_dr = [0.]*nWedges\n",
    "    wedgeStop = 0  #obsolete? this will flag if we need to rejigger oldR when we stopped an over-boundary wedge\n",
    "    for nW in range(nWedges):\n",
    "        currentR[nW] = tinyR  #each wedge starts as a tiny triangle of this radius\n",
    "        old_dr[nW] = currentR[nW] #this will track the last radial step (to help convergence)\n",
    "    oldR = [0.]*nWedges   #for remembering last loop's wedge radius\n",
    "    max_dr = [globalMax_dr]*nWedges  #reset max possible positive radial step size\n",
    "    for nW in range(nWedges) :  #this loop: set up tiny wedges in each direction to seed each wedge loop\n",
    "        angle[nW] = (nW-0.5)*wedgeAngle[nW]+angle0[t]   #local variable for orientation of START of wedge\n",
    "        angle2[nW] = angle[nW]+wedgeAngle[nW]      #local angle for clockwise END of wedge\n",
    "        pt1[nW] = tractCP\n",
    "        pt2[nW] = Point(tractCP.x+currentR[nW]*math.cos(angle[nW]),  tractCP.y+currentR[nW]*math.sin(angle[nW]) )\n",
    "        pt3[nW] = Point(tractCP.x+currentR[nW]*math.cos(angle2[nW]), tractCP.y+currentR[nW]*math.sin(angle2[nW]) )\n",
    "        wedgePoly = Polygon([pt1[nW], pt2[nW], pt3[nW] ]) #build a tiny starter wedge triangle\n",
    "        wedgePop[nW] = tractPop[t]* wedgePoly.area/max(tractArea[t],minTractArea)  #max prevents rare div-by-zero\n",
    "    HDpop = np.sum(wedgePop)\n",
    "    if (tractPop[t] < minTractPop or tractArea[t] == 0 or isSkippedTract[t] == 1):\n",
    "        #go directly to jail, do not pass Go, this tract doesn't count\n",
    "        HDpop = avgDistrictPop  #white lie to kick us out of loop\n",
    "    while abs (HDpop - avgDistrictPop) > tolerPop :  #until we've grown the home district to the right size...\n",
    "        sumWedgePopGapChange = 0  #this will total wedge pops that fall short of expectations (when over boundary)\n",
    "        for nW in range(nWedges) :  #for each wedge, we'll build to gain pop or shrink to lose population ...\n",
    "            neededWedgePop = targetWedgePop[nW] - wedgePop[nW]\n",
    "            isSatisfied[nW] = 0  #default in case target changed last loop.  We'll check immediately below\n",
    "            if abs(neededWedgePop/targetWedgePop[nW]) < 0.5*toler :  #is this wedge close enough to stop iterating on it?\n",
    "                isSatisfied[nW] = 1\n",
    "            if isOverEdge[nW] == 0 and isSatisfied[nW] == 0:   #we skip over-boundary and near-perfect wedges\n",
    "                wedgePopDelta = wedgePop[nW] - oldWedgePop[nW]  #how much wedgePop gained in last loop\n",
    "                if (wedgePopDelta == 0): #our last wedge change was in an empty area (desert or off map)\n",
    "                    gainAdjust = EulerGain/gain  #Euler method often over-cautious at map edges or in sparse areas\n",
    "                    guessedRsquared = currentR[nW]*currentR[nW] * targetWedgePop[nW] / wedgePop[nW]  #Euler guess\n",
    "                    # can't use Newton-Raphson since last dy was zero, use Euler instead\n",
    "                    print(\"we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop\",t,tractLoopCounter[t],\n",
    "                          nW, round(180./pi*wedgeAngle[nW],1),round(currentR[nW],4),round(wedgePop[nW],1))\n",
    "                else: #use N-R estimation\n",
    "                    gainAdjust = 1.0\n",
    "                    R2delta = currentR[nW]*currentR[nW] - oldR[nW]*oldR[nW]  #this and below are run/rise of current slope\n",
    "                    guessedRsquared = currentR[nW]*currentR[nW] + R2delta / wedgePopDelta * neededWedgePop\n",
    "                    \n",
    "                guessedRsquared = max( guessedRsquared, 0. ) #minimum guardrail\n",
    "                guessed_dr = guessedRsquared ** 0.5 - currentR[nW]  #best guess for wedge radius change\n",
    "                #gain = max(0.3,normalGain ** (1. + yoyoFactor * yoyoCount[nW]))  #obsolete; using bisect\n",
    "                dr = gain * gainAdjust * guessed_dr   #gain typically ~0.8 for stability\n",
    "                dr = max( -0.5*currentR[nW],min(dr,max_dr[nW]) )  #apply min and max guardrails to wedge radius change\n",
    "                \n",
    "                if np.sign(dr) != np.sign(old_dr[nW]) :  #are we yoyoing? How many times?\n",
    "                    yoyoCount[nW] += 1\n",
    "                if yoyoCount[nW] > 3 and yoyoCount[nW] <= 6 :\n",
    "                    wedgeMaxR[nW] = max(wedgeMaxR[nW],currentR[nW]) #will track largest R in yoyo cycle\n",
    "                    max_dr[nW] = 2.*wedgeMaxR[nW]  #this will now store a reasonable max bisection step size\n",
    "                if yoyoCount[nW] > 6 :  #switch to bisection method; too many yo-yo's\n",
    "                    print(yoyoCount[nW],\"yoyos for tract,wedge,wedgePop,r=\",t,nW,wedgePop[nW],round(currentR[nW],4) )\n",
    "                    max_dr[nW] = 0.5 * max_dr[nW] #we are now bisecting ...\n",
    "                    if(neededWedgePop < 0):\n",
    "                        dr = max(-1.*max_dr[nW], -0.5*currentR[nW])  #reduce wedge size\n",
    "                    else:\n",
    "                        dr = max_dr[nW]  #increase wedge size\n",
    "                old_dr[nW] = dr  #these three lines -- save current as old values for next loop\n",
    "                oldR[nW] = currentR[nW]\n",
    "                oldWedgePop[nW] = wedgePop[nW]\n",
    "                if dr > 0. :  #we are growing a wedge trapezoid piece \n",
    "                    outerR = currentR[nW] + dr\n",
    "                    innerR = currentR[nW]\n",
    "                    currentR[nW] = outerR    #for next loop around\n",
    "                else:    #this wedge trapezoid piece will be SUBTRACTED from current wedge\n",
    "                    outerR = currentR[nW]\n",
    "                    innerR = currentR[nW] + dr  #remember, dr is negative here\n",
    "                    currentR[nW] = innerR             #for next loop around\n",
    "                #now, describe the new wedge to probe for precinct intersections ...\n",
    "                pt1[nW] = Point(tractCP.x+innerR*math.cos(angle[nW]), tractCP.y+innerR*math.sin(angle[nW]) )\n",
    "                pt2[nW] = Point(tractCP.x+outerR*math.cos(angle[nW]), tractCP.y+outerR*math.sin(angle[nW]) )\n",
    "                pt3[nW] = Point(tractCP.x+outerR*math.cos(angle2[nW]),tractCP.y+outerR*math.sin(angle2[nW]) )\n",
    "                pt4[nW] = Point(tractCP.x+innerR*math.cos(angle2[nW]),tractCP.y+innerR*math.sin(angle2[nW]) )\n",
    "                wedgePoly = Polygon([pt1[nW], pt2[nW], pt3[nW],pt4[nW]])  #true for wedge add-on or to-be-trimmed\n",
    "                \n",
    "                printPoly[nW] = wedgePoly  #for debugging\n",
    "                latestWedgePop = 0.  #for the new piece, not the entire triangle\n",
    "                usedTract = [0]*nTracts  #rezero lists of tracts and precincts that could straddle multiple grids\n",
    "                usedPrecinct = [0]*nPrecincts\n",
    "                for nG in range(nGrids) :  # loop over ACTIVE grids to look for intersecting tracts\n",
    "                    gridIntersxn = gridGeom[nG].intersection(wedgePoly)\n",
    "                    if (gridIntersxn.area > 0) :  #this grid is RELEVANT to this wedge\n",
    "                        for tt in range(nGridTracts[nG]) : #look for intersxns with all tracts in this grid\n",
    "                            nTT = gridTractNo[nG][tt] #shorthand for this tract's global tract no\n",
    "                            if(usedTract[nTT] == 0) :  #Did we not already look at this tract in another grid list?\n",
    "                                usedTract[nTT] = 1  #well, now we have!  Probe intersection with wedge\n",
    "                                overlap = tractGeom[nTT].intersection(wedgePoly).area\n",
    "                                if overlap > 0 :\n",
    "                                    fracArea = overlap/tractArea[nTT]\n",
    "                                    latestWedgePop  += fracArea*tractPop[nTT]  #always positive (used in density calc)\n",
    "                                    loopTractUse[nTT] += np.sign(dr)*overlap/tractArea[nTT] * tractPop[t]/avgDistrictPop\n",
    "                        # found all possible tract overlaps with this increment / decrement to this wedge.\n",
    "                        \n",
    "                wedgePop[nW] += np.sign(dr)*latestWedgePop  #for full triangle, based on this latest piece\n",
    "                # Now, flag if we're beyond boundary\n",
    "                if wedgePop[nW] < targetWedgePop[nW] : #if growing, confirm we're not beyond MAP boundary\n",
    "                    leadingEdge = LineString([pt2[nW],pt3[nW]])\n",
    "                    if leadingEdge.intersects(MAP) :  #still room to grow in part of edge, keep going\n",
    "                        gerrymandering = \"evil\"  #it had to be said\n",
    "                    else:  #this wedge is fully beyond the map. give up on more map intersection\n",
    "                        isOverEdge[nW] = 1\n",
    "                        shortedWedge = nW  #ID'ing highest numbered wedge that got shorted by the boundary in this loop\n",
    "                        oldWedgePopGap = wedgePopGap[nW]\n",
    "                        wedgePopGap[nW] = targetWedgePop[nW] - wedgePop[nW]  #how far this wedge's pop is below its target\n",
    "                        nActiveWedges -= 1  #a few lines below, we will adjust other wedge's targets\n",
    "                        sumWedgePopGapChange += wedgePopGap[nW] - oldWedgePopGap\n",
    "                        if (nActiveWedges == 0) : #we're doomed, somehow all wedges are short and off map\n",
    "                            print(\"PUNT! no more active wedges for tract, loop =\",t,tractLoopCounter[t] )\n",
    "                            tractLoopCounter[t] = nGiveUp + 1  #PUNT !!!\n",
    "                            \n",
    "                        max_dr = [globalMax_dr]*nWedges   #allow other wedges to take big steps again to catch up\n",
    "                        yoyoCount = [0] * nWedges  #go back to original gains on ALL active wedges\n",
    "                   \n",
    "        # end of nW loop to adjust all wedge populations by growing or trimming wedges, IDing over-edge wedges\n",
    "        tractLoopCounter[t] +=1   # still looping on home district Pop.\n",
    "        nReceivingWedges = nActiveWedges\n",
    "        oppFlag = 0\n",
    "        if 0 == 1: #always false; for HD2 we would have checked here for opp wedge restriction; ignore this block\n",
    "            # targetWedgePop[int(nWedges/2)] < 0.99 * avgDistrictPop/float(nWedges): #is opp wedge restricted?\n",
    "            oppFlag = 1\n",
    "            nReceivingWedges -= 1-isOverEdge[int(nWedges/2)]  #if yes, don't count opposite wedge as a receiver\n",
    "        if nReceivingWedges == 0: #rarely, the opposite wedge is the only active one\n",
    "            for nWW in range(nWedges): #in this case, we allow the opposite wedge to pick up the slack\n",
    "                targetWedgePop[nWW] += sumWedgePopGapChange/max(1.,float(nReceivingWedges) )\n",
    "        else: #if the opp wedge has a ceiling wedgePopTarget, distribute wedgePopGap to other active wedges\n",
    "            for nWW in range(nWedges):  #time to make adjustments in target wedge pops based on boundary fails\n",
    "                if nWW != int(nWedges/2) or oppFlag == 0 :  #excluding flagged opposite wedge as a receiver\n",
    "                    targetWedgePop[nWW] += sumWedgePopGapChange/float(nReceivingWedges)\n",
    "\n",
    "        # *** NEW 1/19/22 CODE TO ADJUST WEDGE ANGLES WHEN A BOUNDARY ENCOUNTERED\n",
    "        if (nActiveWedges == nWedges or nActiveWedges < nWedges - 2\n",
    "           or didWeRestart[t] == 1) :  #0 or 3+ over-boundary short wedges, or we've already adjusted wedge angles once\n",
    "            HDpop = np.sum(wedgePop) #Keep going with normal wedge growth and trim process\n",
    "        else :  # 1 OR 2 SHORTED WEDGES.  MAY WANT TO ALTER WEDGE ANGLES\n",
    "            didWeRestart[t] = 1  #to ensure we adjust wedge angles and target wedgePops at most once per tract\n",
    "            if (nActiveWedges == nWedges - 2) :  #exactly two wedges got shorted in this loop -- are they opposing?\n",
    "                oppW = int( (shortedWedge + nWedges/2) % nWedges)  #the index of wedge opposite the last shorted wedge\n",
    "                if (isOverEdge[oppW] == 0) :\n",
    "                    print(\"we have 2 non-opposing shorted wedges for tract no\",t)\n",
    "                    totalLiveAngle = 2.*pi - np.sum(isOverEdge)*avgWedgeAngle  #avail angle to divvy among live wedges  \n",
    "                    for nW in range (nWedges) : #Decrease wedge angles opposite shorted wedges via a complex weighting\n",
    "                        if isOverEdge[nW] == 0 :\n",
    "                            oppW = int( (nW + nWedges/2) % nWedges) \n",
    "                            angleWeight = (np.sum(wedgePopGap)-wedgePopGap[oppW])/np.sum(wedgePopGap)/(nActiveWedges-1)\n",
    "                            wedgeAngle[nW] = angleWeight * totalLiveAngle  \n",
    "                else : #shorted wedges ARE opposing\n",
    "                    print(\"we have 2 OPPOSING shorted wedges for tract no\",t) # no wedge-angle adjustment in this case\n",
    "                    #wedgeAngle=[avgWedgeAngle]*nWedges  #comment this out, no change\n",
    "            else: # a single shorted wedge (over boundary).  COMPLETELY RESTART wedge growth process\n",
    "                shortW = shortedWedge #Next dozen lines: convoluted code to find angle to closest boundary point\n",
    "                #print(\"1 wedge over map boundary for tract\",t,\"at loop, wedgePop\",tractLoopCounter[t],wedgePop[shortW] )\n",
    "                shortedPoly = Polygon([tractCP, pt2[shortW],pt3[shortW] ])\n",
    "                MAPedge = shortedPoly.intersection(MAP.exterior) #true state boundary line where wedge crossed it\n",
    "                minDistance = max(tractCP.distance(MAPedge),tinyR)  #closest distance to edge where wedge hit the boundary\n",
    "                edgeCircle = tractCP.buffer(1.01*minDistance)  #build a circle a little bigger than this distance\n",
    "                #  1.001 is not big enough; will occasionally not intersect\n",
    "                closeArea = edgeCircle.intersection(MAPedge)\n",
    "                counter = 0.\n",
    "                maxCounter = 10. #give up after 10 tries\n",
    "                while closeArea.is_empty :  # protect against missing the map boundary somehow\n",
    "                    print(\"need to widen edge circle beyond\",minDistance, \"for tract (x,y)=(\",tractCP.x,tractCP.y)\n",
    "                    minDistance = minDistance * 1.1\n",
    "                    edgeCircle = tractCP.buffer(minDistance)  #widen the circle\n",
    "                    closeArea = edgeCircle.intersection(MAPedge)\n",
    "                    counter += 1\n",
    "                    if counter >= maxCounter: #not finding map edge intersection.  Try another way\n",
    "                        print(\"did not find boundary with circle approach.  Brute-force it.\")\n",
    "                        minDistance = tractCP.distance(MAP.exterior)\n",
    "                        edgeCircle = tractCP.buffer(1.01*minDistance)\n",
    "                        closeArea = edgeCircle.intersection(MAP.exterior)                        \n",
    "            \n",
    "                closePoint = closeArea.centroid  # this is a point very close to the closest beeline from tract to map edge\n",
    "                #print(closePoint,tractCP, \"are boundary point and tract center point\")\n",
    "                x1 = closePoint.x\n",
    "                x2 = tractCP.x  #debugging\n",
    "                dx = closePoint.x - tractCP.x\n",
    "                dy = closePoint.y - tractCP.y\n",
    "                exitAngle = pi/2. * np.sign(dy)  #default in case dx=0\n",
    "                if (dx != 0 ):\n",
    "                    exitAngle = math.atan(dy/dx)  #this is the angle from the x-axis to the exit beeline\n",
    "                    if dx < 0 :  #use complementary atan solution; boundary is west of tract centroid\n",
    "                        exitAngle = pi + exitAngle\n",
    "                angle0[t] = exitAngle # this reorients 0th wedge to face boundary's closest point               \n",
    "                # New 1/23/22 - let's estimate wedgePopGap at ideal orientation, normal angle   # ****************\n",
    "                wedgeAngle1 = exitAngle - 0.5*avgWedgeAngle\n",
    "                wedgeAngle2 = exitAngle + 0.5*avgWedgeAngle\n",
    "                maxR = max(stateWidth,stateHeight) #ensuring we make a big enough wedge\n",
    "                wedgePt1 = tractCP\n",
    "                wedgePt2 = Point(tractCP.x+maxR*math.cos(wedgeAngle1),  tractCP.y+maxR*math.sin(wedgeAngle1) )\n",
    "                wedgePt3 = Point(tractCP.x+maxR*math.cos(wedgeAngle2), tractCP.y+maxR*math.sin(wedgeAngle2) )\n",
    "                wedgePoly = Polygon([ wedgePt1, wedgePt2, wedgePt3 ])\n",
    "                minWedgePop[t] = 0. #the wedgePop of the shorted wedge if we re-orient but don't adjust angles\n",
    "                usedTract = [0]*nTracts  #rezero lists of tracts and precincts that could straddle multiple grids\n",
    "                for nG in range(nGrids) :  # loop over ACTIVE grids to look for intersecting tracts\n",
    "                    gridIntersxn = gridGeom[nG].intersection(wedgePoly)\n",
    "                    if (gridIntersxn.area > 0) :  #this grid is RELEVANT to this wedge\n",
    "                        for tt in range(nGridTracts[nG]) : #look for intersxns with all tracts in this grid\n",
    "                            nTT = gridTractNo[nG][tt] #shorthand for this tract's global tract no\n",
    "                            if(usedTract[nTT] == 0) :  #Did we not already look at this tract in another grid list?\n",
    "                                usedTract[nTT] = 1  #well, now we have!  Probe intersection with wedge\n",
    "                                overlap = tractGeom[nTT].intersection(wedgePoly).area\n",
    "                                if overlap > 0 :\n",
    "                                    fracArea = overlap/tractArea[nTT]\n",
    "                                    minWedgePop[t]  += fracArea*tractPop[nTT]  #always positive (used in density calc)\n",
    "                #print(\"the minimum shorted Wedge Pop for tract {0} is {1}\".format(t,minWedgePop[t]) )  #debug\n",
    "                #printAngle[t] = round(exitAngle*180./pi,4) #for debugging\n",
    "                printDist = round(minDistance,4)\n",
    "                #print(t,\"(\",tractCP.x,tractCP.y,\")\",printAngle,printDist,\"t,tract(x,y),exitAngle,dist\")\n",
    "                # ********************************************************************\n",
    "                # assign new wedge angles.  The two wide angles face toward and away from nearest boundary\n",
    "                #ratio = wedgePopGap[shortW]/ (avgDistrictPop/nWedges)  #0-1; this is degree of shortness\n",
    "                ratio = 1. - minWedgePop[t]/ (avgDistrictPop/nWedges)  # *** UPDATED\n",
    "                # printWedgePopGap[t] = wedgePopGap[shortW]\n",
    "                wideAngle = (1. + coeff1 * ratio + coeff2 * ratio*ratio)*avgWedgeAngle #HERE, WE ADJUST ANGLES\n",
    "                wideAngle = min(wideAngle, maxWideAngle*pi) #set an upper limit\n",
    "                thinAngle = (2.*pi - 2.*wideAngle)/(nWedges - 2.)  #other wedges equally angle-compressed\n",
    "                #if (t % 9 == 0):  #occasional print\n",
    "                    #print(\"tract,wide, thin angles are \",t,round(180/pi*wideAngle,4),round(180/pi*thinAngle,4) )\n",
    "                for nW in range(nWedges) :\n",
    "                    if (nW == 0 or nW == int(nWedges/2) ) : #assign these two as shorted wedge and its opposite\n",
    "                        wedgeAngle[nW] = wideAngle\n",
    "                    else :\n",
    "                        wedgeAngle[nW] = thinAngle\n",
    "                #** COMPLETELY RESTART WEDGE GROWTH PROCESS FROM INITIAL PIZZA SLICES, NOW RE-ORIENTED\n",
    "                loopTractUse = [0.] * nTracts  # reset as we are starting over\n",
    "                loopPrecinctUse = [0.]* nPrecincts\n",
    "                HDpop = 0.\n",
    "                nActiveWedges = nWedges\n",
    "                targetWedgePop = [avgDistrictPop/nWedges] * nWedges\n",
    "                oldR = [0.]*nWedges   #for remembering last loop's wedge radius  \n",
    "                currentR = [tinyR]*nWedges                \n",
    "                old_dr = [tinyR]*nWedges  #this will track the last radial step (to help convergence)\n",
    "                max_dr = [globalMax_dr]*nWedges  #reset max step size\n",
    "                wedgePop = [0.]*nWedges\n",
    "                oldWedgePop = [0.]*nWedges #wedge pop from previous round\n",
    "                wedgePopGap = [0.]*nWedges\n",
    "                isOverEdge = [0] *nWedges\n",
    "                isSatisfied = [0] *nWedges\n",
    "                yoyoCount = [0] *nWedges #just in case we missed this earlier\n",
    "                wedgeMaxR = [0.] * nWedges #resetting\n",
    "                angle[0] = angle0[t] - 0.5*wideAngle  #the 0th wedge always faces the boundary\n",
    "                angle2[0] = angle[0] + wedgeAngle[0]\n",
    "                for nW in range(nWedges) :\n",
    "                    if (nW == 0):\n",
    "                        angle[nW] = angle0[t] - 0.5*wideAngle  #we have to start somewhere :-)\n",
    "                    else :\n",
    "                        angle[nW] = angle2[nW-1]\n",
    "                    angle2[nW] = angle[nW]+wedgeAngle[nW]      \n",
    "                    pt1[nW] = tractCP\n",
    "                    pt2[nW] = Point(tractCP.x+tinyR*math.cos(angle[nW]),  tractCP.y+tinyR*math.sin(angle[nW]) )\n",
    "                    pt3[nW] = Point(tractCP.x+tinyR*math.cos(angle2[nW]), tractCP.y+tinyR*math.sin(angle2[nW]) )\n",
    "                    wedgePoly = Polygon([pt1[nW], pt2[nW], pt3[nW] ])\n",
    "                    wedgePop[nW] = tractPop[t]* wedgePoly.area/max(tractArea[t],minTractArea)\n",
    "                HDpop = np.sum(wedgePop)   #** END OF RESTART BLOCK.  RE-ENTER MAIN LOOP FOR THIS TRACT\n",
    "                      \n",
    "        # **** BELOW IS TO CORRECT FOR NONCONVERGENCE *****\n",
    "        if (tractLoopCounter[t] > nLoopPrint):  #may be becoming unstable. Alert user,    #and (don't) reduce gain\n",
    "            strPop = str(round(HDpop,2))\n",
    "            strWdg = \"Overedge?\"\n",
    "            strSat = \"Satisfied?\"\n",
    "            strYoyo = \"yoyo?\"                \n",
    "            strTWP_dr = \"tWP,dr\"\n",
    "            for nWW in range(nWedges) :\n",
    "                strPop = strPop + \", \"+str(round(wedgePop[nWW],1) )\n",
    "                strWdg = strWdg +str(isOverEdge[nWW])+\", \"\n",
    "                strSat = strSat +str(isSatisfied[nWW])\n",
    "                strYoyo = strYoyo + str(yoyoCount[nWW])\n",
    "                strTWP_dr = strTWP_dr + \", \"+str(round(targetWedgePop[nWW],1) )+\",\"+str(round(old_dr[nWW],4) )\n",
    "            print(\"loop{0}, tr{1},wedgePops{2}, {3},{4},{5} \".format(tractLoopCounter[t],t,strPop,strWdg,strSat,strYoyo) )\n",
    "            print(\"   targetWP, latest drx4 are\",strTWP_dr)\n",
    "\n",
    "        if (tractLoopCounter[t] > nLoopSuperPrint) :\n",
    "            for nWW in range(nWedges):                \n",
    "                print(\"wedge no, currentR,oldWedgePop, wedgePop, overEdge?\",nWW,str(round(currentR[nWW],5)), \n",
    "                      str(round(oldWedgePop[nWW],4)), str(round(wedgePop[nWW],4)),isOverEdge[nWW])   #debug\n",
    "                x, y = printPoly[nWW].exterior.xy     #wedge debugging .....\n",
    "                plt.plot(x, y, c=(0.1, 0.2, 0.02+float(nWW)/nWedges) )\n",
    "            plt.show()\n",
    "        if(tractLoopCounter[t] >= nGiveUp):\n",
    "            print(\"I looped {0} times on tract {1}, giving up w pop {2}\".format(nGiveUp,t,HDpop) )\n",
    "            wrongPop[t] = HDpop  #this will flag this HD as triaged\n",
    "            HDpop = avgDistrictPop  #white lie to kick out of loop\n",
    "        # *** END OF TRIAGE FOR NONCONVERGENCE\n",
    "        \n",
    "    # END OF WHILE LOOP --> we are within tolerance of avgDistrictPop. Finalize this tract's Home District stats\n",
    "    for nTT in range (nTracts) :\n",
    "        tractUse[nTT] += loopTractUse[nTT]\n",
    "    totGOP = 0.\n",
    "    totVote = 0.\n",
    "    totVAP = 0.\n",
    "    totHisp = 0.\n",
    "    totBlack = 0.  #zero these out prior to summing over final wedges\n",
    "    usedTract = [0]*nTracts  #rezero lists of tracts and precincts that could straddle multiple grids\n",
    "    usedPrecinct = [0]*nPrecincts\n",
    "\n",
    "    if (tractPop[t] < minTractPop or tractArea[t] == 0 or isSkippedTract[t] == 1): \n",
    "        #we bypassed the big loop; this tract is inconsequential\n",
    "        HDvPop[t] = HDpop  #a white lie\n",
    "        HDweight[t] = 0.000001  #to suppress this in total stats\n",
    "    else :\n",
    "        HDvPop[t] = np.sum(wedgePop)\n",
    "        # HDvHisp[t] = np.sum(wedgeHisp)/np.sum(wedgePop)  #3/2/22 - move to final wedge calcs\n",
    "        # HDvBlack[t] = np.sum(wedgeBlack)/np.sum(wedgePop)  #3/2/22 - move to final wedge calcs\n",
    "        HDweight[t] = tractPop[t]/np.sum(tractPop)\n",
    "        nearEdge[t] = nWedges - nActiveWedges  #flagging the number of wedges that were not completely pop-filled\n",
    "        centerPt = tractCP\n",
    "        outerPt2 = Point(tractCP.x+currentR[0]*math.cos(angle[0]), tractCP.y+currentR[0]*math.sin(angle[0]) )\n",
    "        outerPt3 = Point(tractCP.x+currentR[0]*math.cos(angle2[0]),tractCP.y+currentR[0]*math.sin(angle2[0]) )\n",
    "        HDpolly = Polygon([centerPt,outerPt2,outerPt3])   #initiate a polygon that will be the home district\n",
    "        for nW in range(nWedges):\n",
    "            HDradius[t][nW] = currentR[nW]\n",
    "            HDangle[t][nW] = angle[nW]\n",
    "            \n",
    "        for nW in range(1,nWedges):  #save final geometry, compute minority and partisan stats\n",
    "            cR = currentR[nW] #shorthand\n",
    "            outerPt2 = Point(tractCP.x+cR*math.cos(angle[nW]), tractCP.y+cR*math.sin(angle[nW]) )\n",
    "            outerPt3 = Point(tractCP.x+cR*math.cos(angle2[nW]),tractCP.y+cR*math.sin(angle2[nW]) )\n",
    "            HDpolly =  HDpolly.union( Polygon([centerPt,outerPt2,outerPt3]) )  #add this wedge to HD district polygon\n",
    "        HDpolly = HDpolly.intersection(MAP)  #exclude map's convex hull and buffer, just the original union of precincts\n",
    "        HDarea[t] = HDpolly.area  #for stats, final Home District area\n",
    "        for nG in range(nGrids) :  # ID the ACTIVE grids to look for intersecting precincts\n",
    "            gridIntersxn = gridGeom[nG].intersection(HDpolly)\n",
    "            if (gridIntersxn.area > 0) :  #this grid is RELEVANT to the final Home District\n",
    "                for tt in range(nGridTracts[nG]):\n",
    "                    nTT = gridTractNo[nG][tt]\n",
    "                    if usedTract[nTT] == 0: #only examine tracts that have not already been called for intersection\n",
    "                        usedTract[nTT] == 1  #this tract has now been called \n",
    "                        overlap = tractGeom[nTT].intersection(HDpolly).area\n",
    "                        if overlap > 0 :\n",
    "                            fracArea = overlap/tractArea[nTT]\n",
    "                            totVAP += fracArea*tractVAP[nTT]\n",
    "                            totHisp += fracArea*tractHisp[nTT]\n",
    "                            totBlack += fracArea*tractBlack[nTT]\n",
    "                        \n",
    "                for pp in range(nGridPrecincts[nG]): #scanning the list of precincts in this active grid\n",
    "                    nPP = gridPrecinctNo[nG][pp]\n",
    "                    if usedPrecinct[nPP] == 0  :\n",
    "                        usedPrecinct[nPP] = 1  #don't double up on precinct intersection\n",
    "                        overlap = vtdGeom[nPP].intersection(HDpolly).area\n",
    "                        if overlap > 0 :\n",
    "                            fracArea = overlap/vtdArea[nPP]\n",
    "                            totGOP += fracArea*vtdGOP[nPP]*vtdPop[nPP]\n",
    "                            totVote += fracArea*vtdPop[nPP]\n",
    "                            loopPrecinctUse[nPP] += overlap/vtdArea[nPP] *tractPop[t]/avgDistrictPop\n",
    "        HDvHisp[t] = totHisp/totVAP\n",
    "        HDvBlack[t] = totBlack/totVAP\n",
    "        HDvGOP[t] = totGOP / totVote\n",
    "        for nPP in range (nPrecincts) :\n",
    "            precinctUse[nPP] += loopPrecinctUse[nPP] #add to global use for this precinct\n",
    "            \n",
    "        \n",
    "\n",
    "    # end of loop on this tract\n",
    "for t in range(nTracts):\n",
    "    if(wrongPop[t] > 0):\n",
    "        HDvPop[t] = wrongPop[t]  #undo the lie that got us out of the loop early\n",
    "HDsumWeight = np.sum(HDweight)\n",
    "print(\"Sum of weights over all precinct home districts should have been 1.000, but was \",HDsumWeight)\n",
    "print(\"Average and max number of wedgePop loops per tract were: \",np.average(tractLoopCounter),np.max(tractLoopCounter) )\n",
    "print(\"min,average,max of Home District areas were: \",np.min(HDarea),np.average(HDarea),np.max(HDarea) )\n",
    "stateGOP2 = 0.\n",
    "stateHisp2 = 0.\n",
    "stateBlack2 = 0.\n",
    "for t in range(nTracts):\n",
    "    HDweight[t] = HDweight[t]/HDsumWeight   #renormalizing\n",
    "    stateGOP2 += HDweight[t]*HDvGOP[t]\n",
    "    stateBlack2 += HDweight[t]*HDvBlack[t]\n",
    "    stateHisp2 += HDweight[t]*HDvHisp[t]\n",
    "statePop = np.sum(tractPop)\n",
    "print(\"calculated statewide vote was {0}, should have been {1}\".format(stateGOP2, stateGOP) )\n",
    "print(\"calcd statewide Hispanic pop was {0}, should have been {1}\".format(stateHisp2, np.sum(tractHisp)/stateVAP ) )\n",
    "print(\"calcd statewide Black pop was {0}, should have been {1}\".format(stateBlack2, np.sum(tractBlack)/stateVAP ) )\n",
    "print(\"fraction of HDs that with altered wedge angles near boundaries = \",np.sum(didWeRestart)/nTracts)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "24a347a9-8220-4c1a-bcfc-14923f1f98f7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sum of weights over all precinct home districs should have been 1.000, but was  1.000068\n",
      "Average and max number of wedgePop loops per tract were:  6.233547925608011 34.0\n",
      "min,average,max of Home District areas were:  0.0 1.1275806437620532 4.161424087907635 for  GA\n"
     ]
    }
   ],
   "source": [
    "#use this line to document progress\n",
    "# start GA 9:19, end 11:04pm\n",
    "print(\"Sum of weights over all precinct home districs should have been 1.000, but was \",HDsumWeight)\n",
    "print(\"Average and max number of wedgePop loops per tract were: \",np.average(tractLoopCounter),np.max(tractLoopCounter) )\n",
    "print(\"min,average,max of Home District areas were: \",np.min(HDarea),np.average(HDarea),np.max(HDarea),\"for \",STATE )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "72247942-899a-4ab2-9796-239aa1e524fb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "GA 17Mar\n"
     ]
    }
   ],
   "source": [
    "date = \"17Mar\"\n",
    "print(STATE, date)  #check that I will not overwrite existing file :-)\n",
    "tractCPx = [0.]*nTracts\n",
    "tractCPy = [0.]*nTracts\n",
    "tractNo = [0.]*nTracts\n",
    "for t in range(nTracts):\n",
    "    tractCPx[t]=tractGeom[t].centroid.x\n",
    "    tractCPy[t]=tractGeom[t].centroid.y\n",
    "    tractNo[t]=t"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "c55ac5fd-7402-47b9-9093-10b9fe0912b6",
   "metadata": {},
   "outputs": [],
   "source": [
    "#LET'S WRITE AN OUTPUT FILE BEFORE WE FORGET :-)\n",
    "#convert HD wedge geometries to 1D arrays.  BELOW IS FOR 4-WEDGE.  CAN AUGMENT FOR 6-WEDGE\n",
    "HDangle0 = [0.]*nTracts\n",
    "HDradius0 = [0.]*nTracts\n",
    "HDangle1 = [0.]*nTracts\n",
    "HDradius1 = [0.]*nTracts\n",
    "HDangle2 = [0.]*nTracts\n",
    "HDradius2 = [0.]*nTracts\n",
    "HDangle3 = [0.]*nTracts\n",
    "HDradius3 = [0.]*nTracts\n",
    "for t in range(nTracts):\n",
    "    HDangle0[t] = HDangle[t][0]\n",
    "    HDradius0[t] = HDradius[t][0]\n",
    "    HDangle1[t] = HDangle[t][1]\n",
    "    HDradius1[t] = HDradius[t][1]\n",
    "    HDangle2[t] = HDangle[t][2]\n",
    "    HDradius2[t] = HDradius[t][2]\n",
    "    HDangle3[t] = HDangle[t][3]\n",
    "    HDradius3[t] = HDradius[t][3]\n",
    "# now convert output to pandas dataframe and export\n",
    "\n",
    "paramList = [\"STATE\",\"stateGOP\",\"nDistricts\",\"nTracts\",\"nPrecincts\",\"nWedges\",\"popn-toler\",\n",
    "             \"gain\",\"coeff1\",\"coeff2\"]\n",
    "paramValues = [STATE,stateGOP, nDistricts, nTracts,nPrecincts,nWedges, toler, gain, coeff1,coeff2]\n",
    "for i in range(nTracts-len(paramList)):\n",
    "    paramList.append(\".\")\n",
    "    paramValues.append(-99)  #so all columns have same number of entries, even the parameter list\n",
    "df = pd.DataFrame( {\"paramList\": paramList,\"paramValues\":paramValues,\"HD-pop\":HDvPop,\"HDvGOP\":HDvGOP,\"HDvHisp\":HDvHisp,\n",
    "                    \"HDvBlack\":HDvBlack,\"HDwt\":HDweight,\"HDarea\":HDarea, \"HDangle0\":HDangle0, \"HDangle1\":HDangle1,\n",
    "                    \"HDangle2\":HDangle2,\"HDangle3\":HDangle3,\"HDradius0\":HDradius0,\"HDradius1\":HDradius1,\n",
    "                    \"HDradius2\":HDradius2,\"HDradius3\":HDradius3,\"startAngle\":angle0,\"tractNo\":tractNo,\n",
    "                    \"Loops\":tractLoopCounter,\"tractPop\":tractPop,\"tractHisp\":tractHisp,\"tractBlack\":tractBlack,\n",
    "                    \"centroid x\":tractCPx,\"centroid y\":tractCPy, \"tractUse\":tractUse,\"nearEdge\":nearEdge,\n",
    "                    \"wrongPop\":wrongPop,\"Restart?\":didWeRestart} ) \n",
    "\n",
    "outname = STATE+str(nDistricts)+\"HD1tol\"+str(toler)+\"nW\"+str(nWedges)+date+\".csv\"\n",
    "outpath = \"state_HD_output/\"+outname\n",
    "df.to_csv(outpath)\n",
    "precinctNo = [0.]*nPrecincts\n",
    "vtdX = [0.]*nPrecincts\n",
    "vtdY = [0.]*nPrecincts\n",
    "for p in range(nPrecincts):\n",
    "    precinctNo[p]=p\n",
    "    vtdX[p] = vtdGeom[p].centroid.x\n",
    "    vtdY[p] = vtdGeom[p].centroid.y\n",
    "df2 = pd.DataFrame( {\"precinctNo\":precinctNo,\"precinctPop\":vtdPop,\"precUse\":precinctUse, \"vtdX\":vtdX, \"vtdY\":vtdY} )\n",
    "outname2 = STATE+date+\"_VTD_tol\"+str(toler)+\"nW\"+str(nWedges)+\".csv\"\n",
    "outpath = \"state_HD_output/\"+outname2\n",
    "df2.to_csv(outpath)  #currently, I'm outputting the precinct use stats to a separate file."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "c4449da0-47a9-40cc-a585-8288447290e6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "we will redo tract numbers  [0]\n"
     ]
    }
   ],
   "source": [
    "# Looking for nonconvergers ...  Run even if none observed, just to check  \n",
    "redo = [0]\n",
    "counter = 0.\n",
    "for t in range (nTracts) :\n",
    "    if wrongPop[t] > 0 :\n",
    "        ratio = round(wrongPop[t]/avgDistrictPop,2)\n",
    "        tractX = tractGeom[t].centroid.x\n",
    "        tractY = tractGeom[t].centroid.y        \n",
    "        print(t, ratio,\"(\",tractX,tractY,\")\",HDvGOP[t], \"t, pop/target,(x,y), pctR\")\n",
    "        if (ratio < 0.9 or ratio > 1.1) :  #these we will redo\n",
    "            plt.text(tractGeom[t].centroid.x, tractGeom[t].centroid.y,ratio, fontsize=14)\n",
    "            if counter == 0 :  #first redo\n",
    "                redo = [t]\n",
    "            else :\n",
    "                redo.append(t)\n",
    "            counter+= 1\n",
    "        else: #show these milder offenders on the map in a smaller font            \n",
    "            plt.text(tractGeom[t].centroid.x, tractGeom[t].centroid.y,ratio, fontsize=9)\n",
    "\n",
    "x,y = tractMAP.exterior.xy\n",
    "plt.plot(x,y,c=\"purple\")\n",
    "plt.show()\n",
    "print(\"we will redo tract numbers \",redo)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "id": "be6e965b-4ca8-4af2-8031-63132fbb939d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 0.608217080266525 906 pop,GOP 0.26269315673289184\n",
      "339 0.7383547686466977 1337 pop,GOP 0.6170531039640987\n",
      "340 0.7315863770720255 1295 pop,GOP 0.5922779922779923\n",
      "341 0.7224284182397344 387 pop,GOP 0.39276485788113696\n",
      "342 0.7533561814753774 828 pop,GOP 0.6123188405797102\n",
      "369 0.7598404727358525 2778 pop,GOP 0.775377969762419\n",
      "371 0.7858052847439598 2952 pop,GOP 0.7269647696476965\n",
      "372 0.7981341683302331 2908 pop,GOP 0.8304676753782668\n",
      "374 0.7976899768146026 2138 pop,GOP 0.14172123479887747\n",
      "401 0.7894985190947836 1193 pop,GOP 0.8189438390611903\n",
      "550 0.7840006274863636 714 pop,GOP 0.8837535014005602\n",
      "551 0.793816935710669 1125 pop,GOP 0.7848888888888889\n",
      "660 0.7958598580713467 754 pop,GOP 0.6763925729442971\n",
      "782 0.7854994770307537 507 pop,GOP 0.8303747534516766\n",
      "864 0.7665677121727441 1251 pop,GOP 0.1574740207833733\n",
      "865 0.77345551514671 1246 pop,GOP 0.2680577849117175\n",
      "874 0.5982117955441943 640 pop,GOP 0.178125\n",
      "1006 0.7887321747045569 1372 pop,GOP 0.11005830903790087\n",
      "1007 0.6811594887267218 1174 pop,GOP 0.5979557069846678\n",
      "1008 0.7307300591318743 545 pop,GOP 0.062385321100917435\n",
      "1009 0.770069295643494 1433 pop,GOP 0.16817864619678996\n",
      "1010 0.6658630018533147 1275 pop,GOP 0.4533333333333333\n",
      "1012 0.7282913983016326 972 pop,GOP 0.15329218106995884\n",
      "1013 0.7187982025861767 1073 pop,GOP 0.47530288909599255\n",
      "1017 0.7350891896847809 537 pop,GOP 0.020484171322160148\n",
      "1019 0.7626262259914884 783 pop,GOP 0.04342273307790549\n",
      "1020 0.7076915346635844 649 pop,GOP 0.4530046224961479\n",
      "1021 0.7228490005028444 888 pop,GOP 0.2072072072072072\n",
      "1027 0.700207346091824 643 pop,GOP 0.24883359253499224\n",
      "1127 0.7014614769939734 1138 pop,GOP 0.6845342706502636\n",
      "1128 0.6877486494921342 270 pop,GOP 0.5851851851851851\n",
      "1130 0.6743146775905023 327 pop,GOP 0.12232415902140673\n",
      "1138 0.7723203048544258 1385 pop,GOP 0.7270758122743682\n",
      "1222 0.6697857725695499 1415 pop,GOP 0.662190812720848\n",
      "1223 0.7040528934399011 1915 pop,GOP 0.6026109660574412\n",
      "1224 0.722539012218194 605 pop,GOP 0.2231404958677686\n",
      "1225 0.702870492754954 377 pop,GOP 0.7320954907161804\n",
      "1231 0.6668433804083113 1378 pop,GOP 0.7242380261248186\n",
      "1232 0.6637046534288887 234 pop,GOP 0.688034188034188\n",
      "1233 0.6879911319476152 1660 pop,GOP 0.5590361445783133\n",
      "1238 0.7384723388065894 2548 pop,GOP 0.3402668759811617\n",
      "1242 0.7412098134064103 1245 pop,GOP 0.26987951807228916\n",
      "1248 0.7737471343947768 1802 pop,GOP 0.683684794672586\n",
      "1249 0.7741327661423018 1633 pop,GOP 0.6025719534598898\n",
      "1250 0.7009806131831883 2423 pop,GOP 0.5988444077589765\n",
      "1251 0.7256786523528811 634 pop,GOP 0.23186119873817035\n",
      "1257 0.7543694733349237 1021 pop,GOP 0.8266405484818805\n",
      "1422 0.769463674512704 2238 pop,GOP 0.43655049151027703\n",
      "1432 0.6871697160705996 3000 pop,GOP 0.46266666666666667\n",
      "1433 0.12066941939391528 1942 pop,GOP 0.39752832131822863\n",
      "1482 0.667643234898921 1797 pop,GOP 0.6048970506399555\n",
      "1483 0.6268207945008778 405 pop,GOP 0.47901234567901235\n",
      "1484 0.7473984630915964 778 pop,GOP 0.033419023136246784\n",
      "1486 0.6523697106620937 1382 pop,GOP 0.6164978292329957\n",
      "1490 0.7196066588660115 538 pop,GOP 0.3754646840148699\n",
      "1493 0.6525054392361502 1364 pop,GOP 0.3709677419354839\n",
      "1496 0.6344825506338939 2836 pop,GOP 0.4192524682651622\n",
      "1497 0.6624237528738157 509 pop,GOP 0.2455795677799607\n",
      "1503 0.7482056994281043 613 pop,GOP 0.1598694942903752\n",
      "1550 0.7866626627863141 787 pop,GOP 0.8678526048284625\n",
      "1683 0.7895392158869432 904 pop,GOP 0.5486725663716814\n",
      "1823 0.7236293886965405 1751 pop,GOP 0.6773272415762421\n",
      "1826 0.7771089312726979 1061 pop,GOP 0.6437323279924599\n",
      "1828 0.7321834665695035 1427 pop,GOP 0.6748423265592152\n",
      "1830 0.7019760640975162 1608 pop,GOP 0.6237562189054726\n",
      "1831 0.7764096013009915 1364 pop,GOP 0.6099706744868035\n",
      "1836 0.7264787679479796 1636 pop,GOP 0.6222493887530562\n",
      "1957 0.6828585582362324 1637 pop,GOP 0.6951740989615149\n",
      "1960 0.7556537856234208 1562 pop,GOP 0.6421254801536491\n",
      "1961 0.7691745152918442 1046 pop,GOP 0.7724665391969407\n",
      "1966 0.6394015752085072 2279 pop,GOP 0.6770513383062747\n",
      "1969 0.6642890410781698 1666 pop,GOP 0.6074429771908764\n",
      "1970 0.743807510016709 1882 pop,GOP 0.6928799149840595\n",
      "1971 0.7698877574333275 1201 pop,GOP 0.7119067443796836\n",
      "2096 0.7333645334865867 874 pop,GOP 0.7540045766590389\n",
      "2103 0.7475320667466241 749 pop,GOP 0.6568758344459279\n",
      "2106 0.7817005942631403 832 pop,GOP 0.7704326923076923\n",
      "2107 0.7485219099061509 849 pop,GOP 0.8857479387514723\n",
      "2110 0.7653167067948484 503 pop,GOP 0.7713717693836978\n",
      "2113 0.7801945271369874 413 pop,GOP 0.7627118644067796\n",
      "2120 0.7974854087763363 835 pop,GOP 0.7664670658682635\n",
      "2129 0.7793164981105218 3677 pop,GOP 0.05765569757954855\n",
      "2131 0.7893688669366442 364 pop,GOP 0.717032967032967\n",
      "2133 0.7647290560893019 619 pop,GOP 0.6752827140549273\n",
      "2134 0.7944508099609551 361 pop,GOP 0.6703601108033241\n",
      "2143 0.7701367313956078 69 pop,GOP 0.5652173913043478\n",
      "2150 0.7288346086242775 2118 pop,GOP 0.5278564683663833\n",
      "2154 0.695405753329215 1032 pop,GOP 0.5474806201550387\n",
      "2157 0.7025608053066632 159 pop,GOP 0.5094339622641509\n",
      "2264 0.7822070211965155 774 pop,GOP 0.7997416020671835\n",
      "2271 0.7688316850772083 1257 pop,GOP 0.36754176610978523\n",
      "2274 0.799051698938512 758 pop,GOP 0.7361477572559367\n",
      "2276 0.790709963047393 3946 pop,GOP 0.594272681196148\n",
      "2277 0.7677554968877028 619 pop,GOP 0.14378029079159935\n",
      "2319 0.7202309579107745 4438 pop,GOP 0.775574583145561\n",
      "2321 0.6777261407772267 914 pop,GOP 0.6487964989059081\n",
      "2323 0.6580290261221187 1229 pop,GOP 0.7697314890154597\n",
      "2324 0.7251657588661378 3653 pop,GOP 0.7418560087599233\n",
      "2330 0.7870411141068858 4935 pop,GOP 0.8285714285714286\n",
      "2331 0.7673506706925272 3860 pop,GOP 0.7663212435233161\n",
      "2358 0.7974457180598524 4497 pop,GOP 0.7785190126751167\n",
      "2362 0.7929440337169775 3757 pop,GOP 0.7769496939047112\n",
      "2372 0.7870149449818092 3097 pop,GOP 0.7875363254762674\n",
      "2442 0.7694962935171703 2690 pop,GOP 0.7394052044609666\n",
      "2444 0.7410716304754317 1867 pop,GOP 0.776111408677022\n",
      "2445 0.7712479358109833 892 pop,GOP 0.8004484304932735\n",
      "2447 0.6306445887112283 474 pop,GOP 0.8734177215189873\n",
      "2452 0.6872968557245729 820 pop,GOP 0.7670731707317073\n",
      "2454 0.7396633659524694 654 pop,GOP 0.8149847094801224\n",
      "2457 0.6858991125378653 1899 pop,GOP 0.8420221169036335\n",
      "2459 0.7528347735799791 927 pop,GOP 0.7864077669902912\n",
      "2460 0.7448422750739822 2139 pop,GOP 0.7732585320243104\n",
      "2464 0.6576571909823562 1324 pop,GOP 0.918429003021148\n",
      "2489 0.7649875190564177 2503 pop,GOP 0.5273671594087096\n",
      "2498 0.644019389964215 1396 pop,GOP 0.27363896848137537\n",
      "2499 0.7557389233812274 2349 pop,GOP 0.0519369944657301\n",
      "2500 0.6608552808532976 4401 pop,GOP 0.19631901840490798\n",
      "2501 0.6814618241999365 2777 pop,GOP 0.06769895570759812\n",
      "2502 0.76879554352371 3975 pop,GOP 0.5509433962264151\n",
      "2503 0.7828597163355537 227 pop,GOP 0.7180616740088106\n",
      "2504 0.6940553929711998 2944 pop,GOP 0.24320652173913043\n",
      "2508 0.7964837810925083 2175 pop,GOP 0.6680459770114943\n",
      "2664 0.7379519137354505 350 pop,GOP 0.5714285714285714\n",
      "2665 0.7817164182560445 309 pop,GOP 0.42071197411003236\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plotting underused PRECINCTS\n",
    "for p in range (nPrecincts) :\n",
    "    if precinctUse[p] < 0.8 and isSkippedPrecinct[p] == 0 and vtdPop[p] > 0: #ignore suppressed precincts\n",
    "        print(p,precinctUse[p], vtdPop[p],\"pop,GOP\",vtdGOP[p])\n",
    "        pU = round(precinctUse[p],3)\n",
    "        tractX = vtdGeom[p].centroid.x\n",
    "        tractY = vtdGeom[p].centroid.y        \n",
    "        # print(t, ratio,\"(\",tractX,tractY,\")\",HDvGOP[t], \"t, pop/target,(x,y), pctR\")\n",
    "        plt.text(vtdGeom[p].centroid.x, vtdGeom[p].centroid.y,pU, fontsize=9)\n",
    "        if notPolyVTD[p] == 0 :\n",
    "            x,y = vtdGeom[p].exterior.xy\n",
    "            plt.plot(x,y)\n",
    "        else :\n",
    "            for geom in vtdGeom[p].geoms:\n",
    "                x,y = geom.exterior.xy\n",
    "                plt.plot(x,y)\n",
    "\n",
    "x,y = wholeMAP.exterior.xy\n",
    "plt.plot(x,y,c=\"purple\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 350,
   "id": "37f47a77-d58e-4b4c-be60-676819128e21",
   "metadata": {},
   "outputs": [],
   "source": [
    "# (OPTIONAL) IF WE STOPPED AND RESTARTED, read the data back in:  #NEED TO UPDATE THIS W/ANGLES, RADII\n",
    "import pandas as pd\n",
    "infilename = \"FL_nD28tol0.01nW4.csv\"\n",
    "df2 = pd.read_csv(\"state_HD_output/\"+infilename)\n",
    "HDvPop = df2[\"HD-pop\"]\n",
    "HDvHisp = df2[\"HDvHisp\"]\n",
    "HDvGOP = df2['HDvGOP']\n",
    "HDweight = df2['HDwt']\n",
    "HDarea = df2['HDarea']\n",
    "tractLoopCounter = df2['Loops']\n",
    "tractPop = df2['tractPop']\n",
    "tractCPx = df2['centroid x']\n",
    "tractCPy = df2['centroid y']\n",
    "tractUse = df2['tractUse']\n",
    "# nearEdge = df2['nearEdge']   #add this back in, PLEASE\n",
    "df2.head()\n",
    "nTracts = len(tractPop)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "e9b2c0c0-fb53-44e5-9155-1963d4833ee8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "750596.7418101031 0.1131774380110593 0.0001361943772 0.0400616118781349 0.7450137754374908\n"
     ]
    }
   ],
   "source": [
    "#  HERE'S A BLOCK TO OVERWRITE THE REDONE DATA\n",
    "for r in range(nRedos):\n",
    "    t = redo[r]\n",
    "    HDvPop[t] = redoHDvPop[r]\n",
    "    HDvGOP[t] = redoHDvGOP[r]\n",
    "    tractArea[t] = redoHDarea[r]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "c80e0880-6811-4408-b847-6d70bd2546ff",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt   #SKIP THIS BLOCK IF STARTING FROM FIRST BLOCK\n",
    "from scipy.stats import norm\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "c8f73bb9-e36b-41c7-9220-1ec09169aa3e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# all done with redo's.  Let's look at some outputs.  First, red/blue by home district  SHOULD BE MIX OF RED AND BLUE\n",
    "nPlot = 5\n",
    "for t in range(nTracts):\n",
    "    if(t % nPlot == 0 and tractPop[t] > minTractPop):\n",
    "        redd = min(max( 0, ( HDvGOP[t] - 0.5) * 3.0 ),1)\n",
    "        bluu = min(max( 0, (0.5 - HDvGOP[t]) * 3.0 ),1)\n",
    "        plt.scatter(tractCPx[t],tractCPy[t],marker='.',color=(redd, 0,bluu ) )\n",
    "x,y = wholeMAP.exterior.xy\n",
    "plt.plot(x,y,color='green')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "a5d3b510-6d1e-49ae-9a5d-03352e2b449e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "map of tracts that were used less than 0.7 of expectation in GA\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Now, where are those UNDERPERFORMING tracts (<0.x usage)\n",
    "maxPlot = 0.70\n",
    "print(\"map of tracts that were used less than {0} of expectation in {1}\".format(maxPlot, STATE) )\n",
    "for t in range(nTracts):\n",
    "    if(tractUse[t] < maxPlot and tractUse[t] > 0.05):  #ignore skipped tracts\n",
    "        redd = min(max( 0, ( HDvGOP[t] - 0.5) * 3.0 ),1)\n",
    "        bluu = min(max( 0, (0.5 - HDvGOP[t]) * 3.0 ),1)\n",
    "        plt.scatter(tractCPx[t],tractCPy[t],marker='.',color=(redd, 0,bluu ) )\n",
    "\n",
    "x,y = wholeMAP.exterior.xy   #turn these on if I pull map back in\n",
    "plt.plot(x,y,c=\"green\")\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "876011e8-d37e-44a6-8dd9-a1e4d2f51e58",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "here is a map of tracts that were used more than 1.2 of expectation\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# ... And where are the OVERUSED tracts?\n",
    "minPlot = 1.2\n",
    "print(\"here is a map of tracts that were used more than {0} of expectation\".format(minPlot) )\n",
    "for t in range(nTracts):\n",
    "    if(tractUse[t] >minPlot and tractUse[t] > 0.05):  #ignore skipped tracts\n",
    "        redd = min(max( 0, ( HDvGOP[t] - 0.5) * 3.0 ),1)\n",
    "        bluu = min(max( 0, (0.5 - HDvGOP[t]) * 3.0 ),1)\n",
    "        plt.scatter(tractCPx[t],tractCPy[t],marker='.',color=(redd, 0,bluu ) )\n",
    "\n",
    "x,y = wholeMAP.exterior.xy\n",
    "plt.plot(x,y,c=\"green\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "id": "19bfa7c8-0449-4182-8ed9-f5a1c1276f03",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "here is a map of 0 tracts that were used more than 1.6 of expectation\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# ... And where are the REALLY OVERUSED tracts?\n",
    "minPlot = 1.6\n",
    "counter = 0\n",
    "for t in range(nTracts):\n",
    "    if(tractUse[t] >minPlot and tractUse[t] > 0.05):  #ignore skipped tracts\n",
    "        redd = min(max( 0, ( HDvGOP[t] - 0.5) * 3.0 ),1)\n",
    "        bluu = min(max( 0, (0.5 - HDvGOP[t]) * 3.0 ),1)\n",
    "        plt.scatter(tractCPx[t],tractCPy[t],marker='.',color=(redd, 0,bluu ) )\n",
    "        counter +=1\n",
    "\n",
    "print(\"here is a map of {0} tracts that were used more than {1} of expectation\".format(counter, minPlot) )\n",
    "x,y = wholeMAP.exterior.xy\n",
    "plt.plot(x,y,c=\"green\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "f3e9bde3-06f6-402d-bce1-62b5631e8db0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# CORRELATION OF TRACT UNDER-USAGE IN OTHER TRACT'S HOME DISTRICTS vs. being near a boundary\n",
    "fig, ax = plt.subplots()\n",
    "plt.scatter(tractUse,nearEdge,marker='.' )\n",
    "ax.set(xlabel=\"tract use vs. expectation\", ylabel=\"number of unfilled wedges - max = \"+str(nWedges))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "id": "6bb5c12a-a6a4-4cb1-9026-d227bc11c2ea",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.10863628791506763 = GA std dev of TRACT usage.  Here is its weighted histogram\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAAATkElEQVR4nO3df4yd113n8fcHJ1nRUrVs7QQUJ3UWuUBAdVUGt9DSOqxanITKqtRFDlUrVSlWWYJWK22F2T8SCf4J6j8IkmJZlRX1jyRaaNN6VedHpd3FUYN3PUH5YYemMq6XzBrJkx+0pCAFly9/3Mfo7nhm7uOZO3PPnXm/pKu5zznnufOdsY8+c5555txUFZIkteaHJl2AJEmLMaAkSU0yoCRJTTKgJElNMqAkSU0yoCRJTWo2oJIcSXIhyame438tyQtJTid5cK3rkyStrbT6d1BJPgi8Dnypqn52xNidwH8DfrmqXktybVVdWI86JUlro9kVVFUdB14dbkvyE0keS/J0kieT/FTX9RvA/VX1Wneu4SRJU67ZgFrCYeC3q+rngP8CfKFrfyfwziTfTHIiyd6JVShJGourJl1AX0l+BPhF4E+TXGr+N93Hq4CdwB5gO/Bkkp+tqr9b5zIlSWMyNQHFYLX3d1X17kX65oATVfVPwHeSvMggsE6uY32SpDGamkt8VfU9BuHzHwAysKvr/ipwS9e+lcElv7OTqFOSNB7NBlSSh4C/AH4yyVySO4FPAHcmeRY4Dezrhj8OvJLkBeB/Ap+rqlcmUbckaTyavc1ckrS5NbuCkiRtbk3eJLF169basWPHpMuQJK2Bp59++uWq2jZqXJMBtWPHDmZnZyddhiRpDST5v33GeYlPktQkA0qS1CQDSpLUJANKktQkA0qS1CQDSpLUpJG3mSc5AvwqcGGxNw5M8jkGWxBder2fBrZV1atJzgF/D/wAuFhVM+MqXJK0sfVZQT0ALPn+SlX1+ap6d7fL+O8Cf15Vw280eEvXbzhJknobGVCLvbPtMu4AHlpVRZIkMcbfQSV5E4OV1peHmgt4onuL9gMjzj+QZDbJ7Pz8/LjKkiRNqXFudfRR4JsLLu+9v6rOJ7kW+EaSb3UrsstU1WEGb+nOzMyMW6xLU2LHwa8v2Xfu3tvXsRJtNOO8i28/Cy7vVdX57uMF4BFg9xg/nyRpAxtLQCV5K/Ah4GtDbW9O8pZLz4GPAKfG8fkkSRtfn9vMHwL2AFuTzAH3AFcDVNWhbtjHgCeq6vtDp14HPJLk0ud5sKoeG1/pkqSNbGRAVdUdPcY8wOB29OG2s8CulRYmSdrc3ElCktQkA0qS1CQDSpLUJANKktQkA0qS1CQDSpLUJANKktQkA0qS1CQDSpLUJANKktQkA0qS1CQDSpLUJANKktQkA0qS1KRxvuW7pA1subd2l9aCKyhJUpMMKElSkwwoSVKTDChJUpMMKElSkwwoSVKTDChJUpMMKElSk0YGVJIjSS4kObVE/54k303yTPe4e6hvb5IXk5xJcnCchUuSNrY+K6gHgL0jxjxZVe/uHr8HkGQLcD9wK3AzcEeSm1dTrCRp8xgZUFV1HHh1Ba+9GzhTVWer6g3gYWDfCl5HkrQJjet3UL+Q5Nkkjyb5ma7teuCloTFzXZskSSONY7PYvwTeUVWvJ7kN+CqwE8giY2upF0lyADgAcOONN46hLEnSNFv1CqqqvldVr3fPjwFXJ9nKYMV0w9DQ7cD5ZV7ncFXNVNXMtm3bVluWJGnKrTqgkvxYknTPd3ev+QpwEtiZ5KYk1wD7gaOr/XySpM1h5CW+JA8Be4CtSeaAe4CrAarqEPBx4DeTXAT+EdhfVQVcTHIX8DiwBThSVafX5KuQJG04IwOqqu4Y0X8fcN8SfceAYysrTZK0mbmThCSpSQaUJKlJBpQkqUkGlCSpSQaUJKlJBpQkqUkGlCSpSQaUJKlJBpQkqUkGlCSpSQaUJKlJBpQkqUkGlCSpSQaUJKlJBpQkqUkGlCSpSQaUJKlJBpQkqUkGlCSpSQaUJKlJBpQkqUkGlCSpSQaUJKlJBpQkqUkjAyrJkSQXkpxaov8TSZ7rHk8l2TXUdy7J80meSTI7zsIlSRtbnxXUA8DeZfq/A3yoqt4F/D5weEH/LVX17qqaWVmJkqTN6KpRA6rqeJIdy/Q/NXR4Atg+hrokSZvcuH8HdSfw6NBxAU8keTrJgeVOTHIgyWyS2fn5+TGXJUmaNiNXUH0luYVBQH1gqPn9VXU+ybXAN5J8q6qOL3Z+VR2muzw4MzNT46pLkjSdxhJQSd4FfBG4tapeudReVee7jxeSPALsBhYNKEkbz46DX1+y79y9t69jJZpGq77El+RG4CvAJ6vq20Ptb07ylkvPgY8Ai94JKEnSQiNXUEkeAvYAW5PMAfcAVwNU1SHgbuDtwBeSAFzs7ti7Dnika7sKeLCqHluDr0GStAH1uYvvjhH9nwE+s0j7WWDX5WdIkjSaO0lIkppkQEmSmmRASZKaZEBJkppkQEmSmmRASZKaNLatjiRNv+V2fpDWmysoSVKTDChJUpMMKElSkwwoSVKTDChJUpMMKElSkwwoSVKTDChJUpMMKElSkwwoSVKTDChJUpMMKElSkwwoSVKTDChJUpMMKElSkwwoSVKTRgZUkiNJLiQ5tUR/kvxRkjNJnkvynqG+vUle7PoOjrNwSdLG1mcF9QCwd5n+W4Gd3eMA8CcASbYA93f9NwN3JLl5NcVKkjaPkQFVVceBV5cZsg/4Ug2cAN6W5MeB3cCZqjpbVW8AD3djJUkaaRy/g7oeeGnoeK5rW6pdkqSRxhFQWaStlmlf/EWSA0lmk8zOz8+PoSxJ0jQbR0DNATcMHW8Hzi/TvqiqOlxVM1U1s23btjGUJUmaZuMIqKPAp7q7+d4HfLeq/hY4CexMclOSa4D93VhJkka6atSAJA8Be4CtSeaAe4CrAarqEHAMuA04A/wD8Omu72KSu4DHgS3Akao6vQZfgyRpAxoZUFV1x4j+An5rib5jDAJMkqQr4k4SkqQmGVCSpCYZUJKkJhlQkqQmGVCSpCYZUJKkJhlQkqQmGVCSpCYZUJKkJhlQkqQmGVCSpCYZUJKkJhlQkqQmGVCSpCYZUJKkJhlQkqQmjXzDQklaCzsOfn3JvnP33r6OlahVrqAkSU0yoCRJTTKgJElNMqAkSU0yoCRJTTKgJElNMqAkSU3qFVBJ9iZ5McmZJAcX6f9ckme6x6kkP0jyb7u+c0me7/pmx/0FSJI2ppF/qJtkC3A/8GFgDjiZ5GhVvXBpTFV9Hvh8N/6jwH+uqleHXuaWqnp5rJVLkja0Piuo3cCZqjpbVW8ADwP7lhl/B/DQOIqTJG1efQLqeuCloeO5ru0ySd4E7AW+PNRcwBNJnk5yYKlPkuRAktkks/Pz8z3KkiRtZH0CKou01RJjPwp8c8HlvfdX1XuAW4HfSvLBxU6sqsNVNVNVM9u2betRliRpI+uzWewccMPQ8Xbg/BJj97Pg8l5Vne8+XkjyCINLhsevvFRJ47DcJq1SS/qsoE4CO5PclOQaBiF0dOGgJG8FPgR8bajtzUnecuk58BHg1DgKlyRtbCNXUFV1McldwOPAFuBIVZ1O8tmu/1A39GPAE1X1/aHTrwMeSXLpcz1YVY+N8wuQJG1Mvd4PqqqOAccWtB1acPwA8MCCtrPArlVVKEnalNxJQpLUJANKktQkA0qS1CQDSpLUJANKktQkA0qS1CQDSpLUJANKktQkA0qS1CQDSpLUJANKktQkA0qS1CQDSpLUpF67mUvSelruTRXP3Xv7OlaiSXIFJUlqkgElSWqSASVJapIBJUlqkgElSWqSASVJapIBJUlqkgElSWqSASVJapIBJUlqUq+ASrI3yYtJziQ5uEj/niTfTfJM97i777mSJC1m5F58SbYA9wMfBuaAk0mOVtULC4Y+WVW/usJzJUn6//RZQe0GzlTV2ap6A3gY2Nfz9VdzriRpE+sTUNcDLw0dz3VtC/1CkmeTPJrkZ67wXJIcSDKbZHZ+fr5HWZKkjaxPQGWRtlpw/JfAO6pqF/DHwFev4NxBY9Xhqpqpqplt27b1KEuStJH1Cag54Iah4+3A+eEBVfW9qnq9e34MuDrJ1j7nSpK0mD4BdRLYmeSmJNcA+4GjwwOS/FiSdM93d6/7Sp9zJUlazMi7+KrqYpK7gMeBLcCRqjqd5LNd/yHg48BvJrkI/COwv6oKWPTcNfpaJEkbSK+3fO8u2x1b0HZo6Pl9wH19z5UkaRR3kpAkNcmAkiQ1yYCSJDXJgJIkNcmAkiQ1yYCSJDXJgJIkNanX30FJmi47Dn590iVIq+YKSpLUJFdQ0pRylaSNzoCSNFWWC+Zz996+jpVorXmJT5LUJANKktQkA0qS1CQDSpLUJANKktQkA0qS1CQDSpLUJP8OStKG4d9IbSyuoCRJTTKgJElNMqAkSU3yd1CSNgV/PzV9eq2gkuxN8mKSM0kOLtL/iSTPdY+nkuwa6juX5PkkzySZHWfxkqSNa+QKKskW4H7gw8AccDLJ0ap6YWjYd4APVdVrSW4FDgPvHeq/papeHmPdkqQNrs8KajdwpqrOVtUbwMPAvuEBVfVUVb3WHZ4Ato+3TEnSZtMnoK4HXho6nuvalnIn8OjQcQFPJHk6yYGlTkpyIMlsktn5+fkeZUmSNrI+N0lkkbZadGByC4OA+sBQ8/ur6nySa4FvJPlWVR2/7AWrDjO4NMjMzMyiry9J2jz6rKDmgBuGjrcD5xcOSvIu4IvAvqp65VJ7VZ3vPl4AHmFwyVCSpGX1WUGdBHYmuQn4f8B+4NeHByS5EfgK8Mmq+vZQ+5uBH6qqv++efwT4vXEVL210y90aLW10IwOqqi4muQt4HNgCHKmq00k+2/UfAu4G3g58IQnAxaqaAa4DHunargIerKrH1uQrkSRtKL3+ULeqjgHHFrQdGnr+GeAzi5x3Fti1sF2SpFHc6kiS1CQDSpLUJANKktQkA0qS1CQDSpLUJANKktQkA0qS1CQDSpLUJANKktQk3/JdmjD325u8pf4NfCv4yXIFJUlqkgElSWqSl/gkaQnLXX718t/aM6CkdeLvmqQr4yU+SVKTDChJUpO8xCeNkZfxpPFxBSVJapIrKElaAe/wW3uuoCRJTTKgJElN8hKfdIW8EUKjePlvPFxBSZKa5ApKm5YrIaltvVZQSfYmeTHJmSQHF+lPkj/q+p9L8p6+50qStJiRK6gkW4D7gQ8Dc8DJJEer6oWhYbcCO7vHe4E/Ad7b81xJ2jT8/VR/fS7x7QbOVNVZgCQPA/uA4ZDZB3ypqgo4keRtSX4c2NHjXGnNeBlPunKthGifgLoeeGnoeI7BKmnUmOt7ngtAkgPAge7w9SQv9qhtOVuBl1f5Gutp2uqF6avZetfetNXcVL35g17DJlpzzxqHLVbvO/qc2Cegskhb9RzT59xBY9Vh4HCPenpJMltVM+N6vbU2bfXC9NVsvWtv2mqetnph+mpeTb19AmoOuGHoeDtwvueYa3qcK0nSZfrcxXcS2JnkpiTXAPuBowvGHAU+1d3N9z7gu1X1tz3PlSTpMiNXUFV1McldwOPAFuBIVZ1O8tmu/xBwDLgNOAP8A/Dp5c5dk6/kcmO7XLhOpq1emL6arXftTVvN01YvTF/NK643gxvvJElqi1sdSZKaZEBJkpo01QG1mi2YJqVHzZ/oan0uyVNJdk2izqF6em1VleTnk/wgycfXs74lahlZc5I9SZ5JcjrJn693jQtqGfV/4q1J/nuSZ7t6Pz2JOofqOZLkQpJTS/Q3Ne961NvUnOtqWrbmoXFNzLs+9a5ozlXVVD4Y3HTx18C/Y3A7+7PAzQvG3AY8yuDvsd4H/O8pqPkXgR/tnt86yZr71Ds07n8wuFnm41PwPX4bg91MbuyOr2283v8K/EH3fBvwKnDNBGv+IPAe4NQS/a3Nu1H1NjPn+tY89H+nlXk36nu8ojk3zSuof92CqareAC5tozTsX7dgqqoTwKUtmCZlZM1V9VRVvdYdnmDwt2OT0ud7DPDbwJeBC+tZ3BL61PzrwFeq6m8AqmqSdfept4C3JAnwIwwC6uL6ljlUTNXxroalNDXvRtXb2JwDen2PoaF516PeFc25aQ6opbZXutIx6+lK67mTwU+ikzKy3iTXAx8DDq1jXcvp8z1+J/CjSf5XkqeTfGrdqrtcn3rvA36awR+5Pw/8p6r65/Upb0Vam3dXYtJzrpcG590oK5pz0/x+UKvZgmlSeteT5BYGk+UDa1rR8vrU+4fA71TVDwY/4E9cn5qvAn4O+PfADwN/keREVX17rYtbRJ96fwV4Bvhl4CeAbyR5sqq+t8a1rVRr866XRuZcX39IW/NulBXNuWkOqNVswTQpvepJ8i7gi8CtVfXKOtW2mD71zgAPd5NkK3BbkotV9dV1qfByff9fvFxV3we+n+Q4sAuYRED1qffTwL01uHh/Jsl3gJ8C/s/6lHjFWpt3IzU05/pqbd6NsqI5N82X+FazBdOkjKw5yY3AV4BPTugn+mEj662qm6pqR1XtAP4M+I8TniR9/l98DfilJFcleRODHfb/ap3rvKRPvX/D4CdPklwH/CRwdl2rvDKtzbtlNTbnemlw3o2yojk3tSuoWsUWTJPSs+a7gbcDX+h+OrpYE9q5uGe9TelTc1X9VZLHgOeAfwa+WFXL3s47yXqB3wceSPI8g8tnv1NVk3u7heQhYA+wNckccA9wNbQ573rU28ycu6RHzU0ZVe9K55xbHUmSmjTNl/gkSRuYASVJapIBJUlqkgElSWqSASVJapIBJUlqkgElSWrSvwA1CZZV53DlRwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# LET'S VISUALIZE OUR tract usage in a histogram\n",
    "n_bins=50\n",
    "avgTractUse = 0.\n",
    "statePop = np.sum(tractPop)\n",
    "for t in range(nTracts):\n",
    "    avgTractUse += tractUse[t] * tractPop[t]/statePop\n",
    "sumVarTractUse = 0.\n",
    "for t in range(nTracts):\n",
    "    sumVarTractUse += (tractUse[t]-avgTractUse)**2 *tractPop[t]/statePop\n",
    "sdTractUse = sumVarTractUse ** 0.5\n",
    "\n",
    "print(sdTractUse,\"=\",STATE,\"std dev of TRACT usage.  Here is its weighted histogram\")\n",
    "fig, ax = plt.subplots(tight_layout=True)\n",
    "# We can set the number of bins with the *bins* keyword argument.\n",
    "ax.hist(tractUse, bins=n_bins, weights=tractPop)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "id": "121f9869-3d25-4594-93b3-64a57a95aca8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.10743659255257866 = std dev of PRECINCT usage.  Here is its weighted histogram\n",
      "this is a histogram of PRECINCT usage by precinct for GA\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# LET'S VISUALIZE OUR precinct usage in a histogram  \n",
    "n_bins=50\n",
    "avgPrecinctUse = 0.\n",
    "stateVTDPop = np.sum(vtdPop)\n",
    "for p in range(nPrecincts):\n",
    "    avgPrecinctUse += precinctUse[p] * vtdPop[p]/stateVTDPop\n",
    "sumVarPrecinctUse = 0.\n",
    "for p in range(nPrecincts):\n",
    "    sumVarPrecinctUse += (precinctUse[p]-avgPrecinctUse)**2 *vtdPop[p]/stateVTDPop\n",
    "sdPrecinctUse = sumVarPrecinctUse ** 0.5\n",
    "\n",
    "print(sdPrecinctUse,\"= std dev of PRECINCT usage.  Here is its weighted histogram\")\n",
    "print(\"this is a histogram of PRECINCT usage by precinct for\",STATE)        \n",
    "fig, ax = plt.subplots(tight_layout=True)\n",
    "# We can set the number of bins with the *bins* keyword argument.\n",
    "ax.hist(precinctUse, bins=n_bins, weights=vtdPop)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "id": "f6f03dcb-c722-4789-b47f-fb7aa3be97bc",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "here's a look at numerical stability - number of loops, avg =  6.3889\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "avgTLC = 0.\n",
    "usedTracts = 0.\n",
    "for t in range (nTracts):\n",
    "    if(tractLoopCounter[t] > 0):\n",
    "        avgTLC += tractLoopCounter[t]\n",
    "        usedTracts +=1.\n",
    "avgTLC = round(avgTLC / usedTracts, 4)\n",
    "print(\"here's a look at numerical stability - number of loops, avg = \",avgTLC)\n",
    "n_bins=20     \n",
    "fig, ax = plt.subplots(tight_layout=True)\n",
    "# We can set the number of bins with the *bins* keyword argument.\n",
    "ax.hist(tractLoopCounter, bins=n_bins)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "id": "974631b2-10ef-4847-af2e-a1e26b6fa768",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "this is a histogram of home-district pct GOP by tract\n",
      "statewide vote is off by 0.00556 0.50427 HD avg vs true 0.49872\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# LET'S VISUALIZE OUR HOME DISTRICT red-blue lean in a histogram  and check the statewide vote vs. HD average\n",
    "n_bins=50\n",
    "print(\"this is a histogram of home-district pct GOP by tract\") \n",
    "print(\"statewide vote is off by\",round((stateGOP2-stateGOP),5),round(stateGOP2,5),\"HD avg vs true\",round(stateGOP,5))\n",
    "fig, ax = plt.subplots(tight_layout=True)\n",
    "# We can set the number of bins with the *bins* keyword argument.\n",
    "ax.hist(HDvGOP, bins=n_bins,weights=HDweight)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "id": "720d9eb5-11e8-45f7-b402-a0048e9ddb99",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "calculated statewide Hispanic pct was 0.06302, should have been 0.06802\n",
      "this is a histogram of home-district VAP pct Hispanic by tract\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# LET'S VISUALIZE OUR home district pct Hispanic in a histogram\n",
    "print(\"calculated statewide Hispanic pct was {0}, should have been {1}\"\n",
    "      .format(round(stateHisp2,5), round(np.sum(tractHisp)/np.sum(tractVAP),5) ) )\n",
    "n_bins=50\n",
    "print(\"this is a histogram of home-district VAP pct Hispanic by tract\")        \n",
    "fig, ax = plt.subplots(tight_layout=True)\n",
    "# We can set the number of bins with the *bins* keyword argument.\n",
    "ax.hist(HDvHisp, bins=[0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1.0],\n",
    "        weights=HDweight)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "id": "1ab7704f-a226-45a9-98a6-d0684522c1eb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "this is a bar plot of seats by VAP pct Hispanic for PA\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# ALTERNATE VIEW OF HISPANIC VOTE: HOW MANY DISTRICTS PER 10pct BIN of PCT HISPANIC VOTE?\n",
    "n_bins = 20\n",
    "HispSeats = [0.]*n_bins\n",
    "binMid = [0.]*n_bins\n",
    "for b in range(n_bins):\n",
    "    binMid[b]= float(b)/n_bins + 0.5/n_bins  #centering each bin\n",
    "for t in range(nTracts) :\n",
    "    b = int(HDvHisp[t]*n_bins)\n",
    "    HispSeats[b] += HDweight[t]*nDistricts  #multiply by nDistricts to get number of expected seats\n",
    "\n",
    "print(\"this is a bar plot of seats by VAP pct Hispanic for\",STATE)        \n",
    "fig, ax = plt.subplots()\n",
    "plt.bar(binMid,HispSeats,width=0.09 )\n",
    "#plt.scatter(binMid,HispSeats )\n",
    "ax.set(xlabel=\"pct Hispanic\", ylabel=\"number of seats\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "id": "3ef49161-368a-40a2-83ff-92187edb3462",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using a threshold of 0.35 the number of Hisp districts should be 0.0\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Where in the state do we see Hispanic-heavy home districts?\n",
    "minHisp1 = 0.35\n",
    "minHisp2 = 0.40\n",
    "sumHispDistricts = 0.\n",
    "for t in range(nTracts):\n",
    "    if (HDvHisp[t] > minHisp1 and tractPop[t] > minTractPop):\n",
    "        sumHispDistricts += tractPop[t]/avgDistrictPop\n",
    "        if (HDvHisp[t] < minHisp2):\n",
    "            plt.scatter(tractCPx[t],tractCPy[t],marker='.',color='orange' )\n",
    "        else :            \n",
    "            plt.text(tractCPx[t],tractCPy[t],'o',color='blue', fontsize= 12)\n",
    "print(\"using a threshold of\",minHisp1,\"the number of Hisp districts should be\",round(sumHispDistricts,3))\n",
    "x,y = origMAP.exterior.xy\n",
    "plt.plot(x,y,c=\"green\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "a92133ad-dc95-4aa1-af02-c1d71296cee6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "this is a bar plot of seats by VAP pct Black for GA\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# ALTERNATE VIEW OF BLACK VOTE: HOW MANY DISTRICTS PER 10pct BIN of PCT BLACK VOTE?\n",
    "n_bins = 10\n",
    "BlackSeats = [0.]*n_bins\n",
    "binMid = [0.]*n_bins\n",
    "for b in range(n_bins):\n",
    "    binMid[b]= float(b)/n_bins + 0.5/n_bins  #centering each bin\n",
    "for t in range(nTracts) :\n",
    "    b = int(HDvBlack[t]*n_bins)\n",
    "    BlackSeats[b] += HDweight[t]*nDistricts  #multiply by nDistricts to get number of expected seats\n",
    "\n",
    "print(\"this is a bar plot of seats by VAP pct Black for\",STATE)        \n",
    "fig, ax = plt.subplots()\n",
    "plt.bar(binMid,BlackSeats,width=0.09 )\n",
    "ax.set(xlabel=\"pct Black\", ylabel=\"number of seats\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "b1e9c437-ddf7-4202-aff0-19f338a5d013",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Black candidates would expect to win 4.701 GA seats out of 14\n",
      "Using simple Alabama-style of Blacks voting 0.9 Dem and whites voting 0.8 GOP\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Where in the state do we see opportunity home districts?  #NEW FORMULATION based on ALABAMA\n",
    "isOppor = [0]*nTracts #will track whether this is an opportunity district\n",
    "blackFracSeats = 0.\n",
    "blackPctDem = 0.9  #fraction of Black voters who are Democrats (est'd from Chen / Stephanopoulos)\n",
    "whitePctGOP = 0.8   #fraction of White voters who are Republican  (\"  \")\n",
    "#minBlack1 = 0.30\n",
    "#minBlack2 = 0.50\n",
    "for t in range(nTracts):\n",
    "    pctWhiteDem = (1-whitePctGOP)*(1-HDvBlack[t])  #this is the fraction of voters who are white Democrats\n",
    "    pctBlackDem = blackPctDem * HDvBlack[t]  #fraction of voters who are black Democrats\n",
    "    if tractPop[t] > minTractPop and HDvGOP[t] < 0.5 :  #Dems would win this Home District\n",
    "        if pctBlackDem > pctWhiteDem : #Blacks would win the primary\n",
    "            isOppor[t] = 1\n",
    "            plt.scatter(tractCPx[t],tractCPy[t],marker='.',color='blue' )\n",
    "            blackFracSeats += HDweight[t]\n",
    "        else :  #the White Dem candidate would win the election          \n",
    "            plt.scatter(tractCPx[t],tractCPy[t],marker='.',color='gray' )\n",
    "\n",
    "print(\"Black candidates would expect to win\",round(blackFracSeats*nDistricts,3),STATE,\"seats out of\",nDistricts)\n",
    "print(\"Using simple Alabama-style of Blacks voting\",blackPctDem,\"Dem and whites voting\",whitePctGOP,\"GOP\")\n",
    "x,y = wholeMAP.exterior.xy\n",
    "plt.plot(x,y,c=\"green\")\n",
    "plt.show()\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "id": "c5125128-e4bb-4337-bc5e-3f48d7cf404f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Here's the GA map with Hisp+Black greater than  0.4 or even 0.5\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Where in the state do we see Black+Hispanic heavy home districts?\n",
    "minMinor = 0.40 \n",
    "minMinor2 = 0.50\n",
    "print(\"Here's the\",STATE,\"map with Hisp+Black greater than \",minMinor,\"or even\",minMinor2)\n",
    "for t in range(nTracts):\n",
    "    if ((HDvBlack[t] + HDvHisp[t]) > minMinor and tractPop[t] > minTractPop):\n",
    "        if (HDvBlack[t] + HDvHisp[t]) > minMinor2 :\n",
    "            plt.scatter(tractCPx[t],tractCPy[t],marker='.',color='blue' )\n",
    "        else :            \n",
    "            plt.scatter(tractCPx[t],tractCPy[t],marker='.',color='gray' )\n",
    "\n",
    "x,y = tractMAP.exterior.xy\n",
    "plt.plot(x,y,c=\"green\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "id": "58119ef8-13ef-4135-9843-6518025dda07",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "this is a histogram of home-district population by tract; avg =  765136.2142857143\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# LET'S VISUALIZE OUR HOME DISTRICT population in a histogram\n",
    "n_bins=50\n",
    "print(\"this is a histogram of home-district population by tract; avg = \",np.sum(tractPop)/nDistricts)        \n",
    "fig, ax = plt.subplots(tight_layout=True)\n",
    "# We can set the number of bins with the *bins* keyword argument.\n",
    "a = avgDistrictPop\n",
    "ax.hist(HDvPop, bins=[0.9*a,0.92*a,0.95*a,0.99*a,1.0*a,1.01*a,1.05*a,1.1*a])   #n_bins\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "id": "1f9101bd-108a-48cb-bee5-3f4e04c18132",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "this is a histogram of home-district area by tract\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# more HOME DISTRICT STATS in a histogram\n",
    "n_bins=50\n",
    "print(\"this is a histogram of home-district area by tract\")        \n",
    "fig, ax = plt.subplots(tight_layout=True)\n",
    "# We can set the number of bins with the *bins* keyword argument.\n",
    "ax.hist(HDarea, bins=n_bins)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "id": "d8167a80-2b91-4adc-ab34-9e010838213d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# What is the correlation of HD area to red-blue lean?\n",
    "fig, ax = plt.subplots()\n",
    "plt.scatter(HDarea,HDvGOP,marker='.' )\n",
    "ax.set(xlabel=\"tract area\", ylabel=\"home district pct GOP\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "id": "cf95cc7c-e58a-4174-94f6-b6d4c7ccb0ff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# What is the correlation of tract usage to red-blue lean?\n",
    "fig, ax = plt.subplots()\n",
    "plt.scatter(HDvGOP,tractUse, marker='.' )\n",
    "ax.set(xlabel=\"home district pct GOP\", ylabel=\"tractUse\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "id": "617384b8-1e0b-45a7-ae09-babe8dd9d429",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# What is the correlation of tract usage to tract population?\n",
    "fig, ax = plt.subplots()\n",
    "plt.scatter(tractPop,tractUse, marker='.' )\n",
    "ax.set(xlabel=\"Census tract population\", ylabel=\"tractUse\")\n",
    "ax.set_xlim(left=0,right=10000)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "id": "91f163ab-6b94-47ee-bd29-be3e751fe2b4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# UPDATED VOTES-SEATS CURVE (from votes2seats.ipynb 1/15/22)\n",
    "# LET'S REWORK OUR VOTES - SEATS CALCULATIONS\n",
    "# FIRST, LET'S DO THE BASIC VOTES-TO-SEATS, no fractional seats\n",
    "# INPUTS ARE HDvGOP[nTracts] and HDweight[nTracts]\n",
    "# HDvGOP is the redness lean of each Census tract's Home District\n",
    "# HDweight is the population of this Census tract relative to the state population\n",
    "# stateGOP is the statewide fraction of GOP vote vs. GOP + Dem vote\n",
    "# KEY EQUATION:\n",
    "# expected Seats at a given vote V = sum(HDweight) for tracts with HDvGOP > 0.5 + (V - stateGOP)\n",
    "# for easy calculation, create ~1000 bins, each bin containing HD's in a dV vote window\n",
    "nBins = 1000\n",
    "dV = 1./nBins\n",
    "binWeight = [0.]*nBins\n",
    "\n",
    "for t in range(nTracts):\n",
    "    binNo = int(HDvGOP[t]*nBins)   #which vote bin does this tract's vote go into for the expected statewide vote?\n",
    "    binWeight[binNo] += HDweight[t]\n",
    "    \n",
    "binVote = [0.]*nBins  #this will store the statewide vote for this bin\n",
    "for b in range(nBins) :\n",
    "    binVote[b] = b*dV\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "plt.plot(binVote, binWeight, marker='.',linestyle=\"none\")\n",
    "ax.set(xlabel=\"district pct GOP\", ylabel=\"bin weight\")\n",
    "plt.show()   #this should resemble above histogram"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "id": "85608d3f-c3bd-4d91-9378-16270ceeb9b6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEGCAYAAABo25JHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAABFUklEQVR4nO3deZxO5fvA8c81Y8bOYChriBTZMmiEZiRljQhfla/Sr9Q3JZWlbyktKOnbTipJJVq1oUUmpJTJIFvWYezLNHZmuX5/nGemWZ6ZOcM8s17v1+t5ec459znnOjPjuZ5z3/e5b1FVjDHGFF9++R2AMcaY/GWJwBhjijlLBMYYU8xZIjDGmGLOEoExxhRzJfI7gJwKDg7WunXr5ncYxhhTqERGRh5S1arethW6RFC3bl1WrlyZ32EYY0yhIiLRmW2zqiFjjCnmLBEYY0wxZ4nAGGOKOUsExhhTzFkiMMaYYs5niUBEZojIARH5M5PtIiIvi8gWEVkjIlf4KhZjjDGZ82X30ZnAq8CsTLZ3BRp6Xm2BqZ5/jTGmwIqMjuXRz9ey+cAxABRQBT8BESFJNdPlrMpmt81PhIbVyvFU76a0uqhSrl6TzxKBqi4RkbpZFLkBmKXOONi/ikiQiFRX1b2+iskYY85FZHQskxZsYM2uvzmT6H3o/iQF5yM7q+Vz35aIsn7vMW6atpyPh7XL1WSQnw+U1QR2pVqO8azLkAhE5E7gToA6derkSXDGGAMwYs4q5kXtye8wUiQp/LrtcJFJBOJlnddUq6rTgekAISEhNpOOMcanZq/YyQvfb+LQ8bP5HUoGfgJX1q+Sq8fMz0QQA9ROtVwLKDhp1xhTrCRX/0TtjCU+yd0+foD4WRvB+fgSuFdE5uA0EsdZ+4AxJj/kpPrHX6B6xVLcE96QQW2LRlW1zxKBiHwIhAHBIhIDPA4EAKjqNGA+0A3YApwEbvNVLMYYk15y75+N+455r5NOJ9BfuP2qeozpdpnPY8trvuw19K9stivwH1+d3xhjvElOABv2HXNVvlSAH0NC6xbJBJCs0A1DbYzxjXlD5rH63dUAiL9QvkZ5GnZvyDUTrqF0pdI+O+++1fv4edLP7Fy2k5OHTlKxTkVa3tGSdg+2Q/y89SlxbPhsA5FvRLL3j72cPHSSfy/+N3XD6qYpk3Amge8e+o4/P/yTsyfj2Ve3Aj+G1eJkhcCUMlX2naBVRAzB+06iAtGNKvFH59o0axDM6K6X0eqiSoyX8YxPd/7uU7sTMiwkF38S+ccSgTEmRf3O9enzXh+SEpI4uP4gX9z+BWf+PkPfD/v67Jx7I/dSpmoZ+rzXh4p1KrL7t9189X9fkRSfRIdHOmS639kTZ6nVrhZNb2nKvMHzvJZZOGIhm77YxIE7m7N4Txytf9xF508389W/G6N+QuljZ7lu7l/saFSJX6+9iDIJiXRbcYDeO07T//l2aY7V882eXNLjkpTlkhVL5sr1FwSWCIwxKfxL+lPuwnIAVKhVgSYDmrB65mqfnrPl7S3TLFeqX4m9f+xlw6cbskwEzW9tDsDJQye9bj8dd5o/3l7Fyl71WZOUABeWZWmP+tw0dQ3VdxxlT/2K1N4ah4oQ2bUut3Woz5hul7F/7X6mNZvGkS1HqNygcsrxSgWVSvnZFDWWCIwxXsVui2Xrwq34BWQ9JFn00mg+6PpBlmU6PNIhyw/19M4cPUOpSqVcl/fmhdd/ReOT2FSjbMq6ExUC+btKKartPs6e+hUp5yeULRPApondU8oElA4AYOeynWkSwcL7F/L1sK+pVK8SLYe2pNWdrbKsuipMLBEYY1JsWbiFCeUmoIlKwukEALq80CXLfWqE1GBY1LAsy5Su7L6NYe8fe4maGcWNH9zoep/UIqNjGTk3Cv9fdtFB4EzptB9zp8sGUPF0IhP6NKXzraV4o8UbLJu0jNCRoZw9cZYfxvwAwLG9/zQmhz0ZRr3wegSWC2Tbom189+B3nDx0ko6PdjynGAsaSwTGmBQXdbyIntN7En8qnj/e/IPYrbG0vS/rsSADSgek+eZ8Pg5tOsTs7rO5csSVNO7bOMf7p34eoL6X7WUC/KgfXJbGrWvSw/MMQO93e/PtyG/58dEf8fP3o819bSh7QVn8/P+5E7r6satT3l/Y4kI0UVn6zFJLBMaYoiegzD8f6l1f7sq74e+y5KklhD0Rluk+uVU1dGjjId4Nf5cmA5vQeVLnHMd+z3uRrK/6T3XSqbIB+CmUPJXAmTIBtKhVkXn3tuf1z16n7AX/VBc1HdSUpoOacnz/cQLLBoLAry/8SlC9oEzPVbNtTc4cPcPx/ccpd0HhbzfINhGISAjQAagBnAL+BH5Q1SM+js0Yk8+ufvxqPuj6Aa3ubEX5GuW9lsmNqqGD6w/ybqd3adK/Cdf/7/ocxfhpZAwAR06dBf5JBIcuLEOin1Bzx1G6DGvNmG6XcTTmKAc3HKRLu4zVXckf6KtmrKJEqRJcfO3FmZ5zX9Q+SpQqQamg82vHKCgyTQQiMgS4D9gORAKbcH7K7YHRnglnHlPVnXkQpzEmH9QNq0vVJlVZ8vQSur/e3WuZ860aOrDuALM6zaJueF06PNKB4/uOp2xL7qVzdPdRZl0zi2smXsNlfZwHu977bjPvfLGOk7Gn6AqUjz3D2ZInOVU2gFPlAogvWYLdIRfQ5bcD9L+vJHtX7eW7kd9xQbMLqN/5n4qj3179jdrtahNYLpCt32/l+4e/p/Okzikf8pu+2sTxfcepHVqbEqVLsGPxDiLGRXDFnVdQomTRqFTJ6irKAlep6ilvG0WkBc6kMpYIjCnCQkeG8sVtX3DV6KsIuigo14+//uP1nDhwgnVz17Fu7ro02x7XxwFIik/i8KbDnIk7A0DvV5dxfMFWrp6/I6Vs+4XRAKy6qjrrr67F7VfV46EnruO7h7/jkwGfEH8qnvrX1Kf3rN5p6v93/7abiMcjOHv8LMGXBtPjjR4pXVMB/AP8Wfn6Sr4b+R2apFSqX4mwJ8No8582uf6zyC/ijPRQeISEhOjKlSvzOwxjTB5LHh00ckcsWQ0OmtwWYNISkUhV9footJs2glfIOE9AHLBSVb/IhfiMMSZTyd1Bo494f3AstY4Ng5k11Ga8zSk3FVwlgUuBjz3LfYF1wFARCVfVET6KzRhTjOVkcphq5QMZ0blRkRkWOq+5SQQNgE6qmgAgIlOB74BrgbU+jM2YQuXZ354FYHSb0fkcSeE2e8VOnl24gbhTCdmWrVI2gOmDW+f6RC3FjZtEUBOn4TjOs1wWqKGqiSJyxmeRGVPIbDyyMb9DKLQmzd/ArF92cNLl1GDFYWjovOQmETwHRIlIBM48wx2BCSJSFvjBh7EZU3g8/zzXb/yThf0uz+9ICpURc1bxZdSeLBt/Uytf0p+x3RpbFVAuyzYRqOrbIjIfaIOTCB5R1eQ53R72ZXDGFBpff03zI7ssEbjgtvdPakFlAhh13aWWAHzE7dMQfsBBT/kGItJAVZf4LixjTFE0af4Gpi3Z5rq8NQLnDTfdR58FBuD0FEpO4ApYIjDGuDJp/gbe+Xk7ZxKzf26pVAk/mtWqmDI7mPE9N3cEvYFGqmoNw8YUIqqKSP6Olz97xU6e/GodpxOyrgQK8BOGti+aE8MXBm4SwTYgALBEYExmSpfmbAEbd2bfE+MJrFOHKkNvz/Nzu70DsN4/BYObv9yTOL2GFpEqGajqfT6LypjCZsEC/rfwtvyOIkXcN9/w99y5VLnrrjw976T5G3hz6TZc1ADRu0UNXhzYMvuCxufcJIIvPS9jTCFwdtcu9o17nNItWlD13v/kyTnddgP1A2oEleKe8IbWAFyAuOk++m5eBGJMofbUU/TcvJqvBjXPvqwPaXw8ux98CPz9qfH880hAgM/OldNuoDYOUMGV1XwEH6lqfxFZS8ZB51DVZj6NzJjCZNEiGh/Zk++J4OBLL3F6zRpqvvQSgbVq+uw8g99ewZLNh7It5y/Q6qJK1gOogMvqjuB+z7898iIQY8z5Ob7sZw6/9TZBAwZQ4bqsJ5w/Fzm5A/AX6Nnc2gAKi0wTgaruFRF/4G1VzfkEosaYPJNw6BB7xoyhZMMGXDB2TK4f3+2DYNYNtHDKso3AM7DcSRGpqKpxWZU1xuQPTUpiz+gxJB07Rs13ZuBXKvfm0XU7F4B1Ay3c3PQaOg2sFZHvgRPJK637qDGpVKnC8YT8mcj8yDvvcOLnn7nwiSco2bBhrh13xJxVzIvak2WZMgF+PNqjifUAKuTcJIJvPC9jTGY+/ZTX8uE5glNr1nDgfy9SvksXggb0z5VjRkbH8p/3I9l3LPNnSAP9hduvsiqgosK6jxpTSCUeO8buBx+iRLWqVH/qyfMeTsLtnAD2IFjR42bQuYbARKAxkHLvq6r1Xex7PfAS4A+8paqT0m2vCLwP1PHE8ryqvpOTCzCmQBg7ln7bIvnktlZ5cjpVZd/jTxC/Zw8Xvfce/hUrnvOx3NwBANStUoYp/VtYN9AiyE3V0DvA48D/gHDgNpx5CbLk6XH0Gs6UljHA7yLypaquT1XsP8B6Ve0pIlWBTSLygapmP0mpMQXJL79w8ZEDeXa6uM8+4+j8+VQdcT9lrji3b+c5mRR+WMf6Vg1UhLlJBKVVdZGIiKpGA0+IyFKc5JCVNsAWVd0GICJzgBuA1IlAgfLi3NOWA44A2U9UakwxdmbrVvY9/Qxl2ralyv/93zkdw213ULsLKB5c9RoSET9gs4jcC+wGqrnYryawK9VyDJD++fJXccYx2gOUBwaoaoYKShG5E7gToE4d651giq+kM2fYPfJB/EqVosZzzyH+/jna3+1dgE0IU7y4SQQjgDLAfcBTONVD/3axn7fqo/RDVVwHRAGdgIuB70VkqaoeTbOT6nRgOkBISIiLcQ2NKZoOPDeZM5s2UWvaVAIucPN97B9u7gLsDqB4ctNr6HcAp2ZIc9I/LgaonWq5Fs43/9RuAyapqgJbRGQ7cCnwWw7OY0z+q1WLWL9d2Zc7D8cWLSL2gw+o/O/BlA8Lc72fm7sAmxS+eHPTaygUeBunDr+OiDQH7lLVe7LZ9XegoYjUw6lOGggMSldmJ3ANsFRELgAa4UyEY0zh8v77TPfhcwTx+/ax95H/UrLxZVR98EHX+0VGx9J36vIsy1hDsHFTNfQiThXOlwCqulpEOma3k6omeNoUvsXpPjpDVdeJyDDP9mk4VU0zPSOcCjBaVbMf0tCYYkQTE9nz0MMkxcdTc8oU/AIDs90neYC4lTtiMy1TvUJJXr25lVUDGVeJAFXdle5hlUSX+80H5qdbNy3V+z1A7g+TaExeGzGCf+1YwYfDcn+8/UNTp3Fy5UqqT5pIyXr1si3vpi3AHgozqblJBLtEpB2gIhKI02i8wbdhGVPIREVR58iRXD/syd9/59Drr1OhV0+CevfOtnx24wPZXYDxxk0iGIbzdHBNnAbg73AeBDPG+FBCbCy7Hx5FQO1aXDgu68d23EwW36JWRebd2z63wzRFgJteQ4eAm/MgFmOMh6qy99HHSDh8mLoffoh/ubJey7kZHsKGiDbZcdNrqB4wHKiburyq9vJdWMYUb7GzZ3N80SKqjR5N6cubeC0ze8VOHvl8bZbHsbYA44abqqF5ON1HvwJXc1QbU/xccgn7du3NlUOd3riRA88+R9mOHaj878Fey7iZK8C6hRq3XA0xoaov+zwSYwqz6dN5NxeeI0g6edIZQqJiBWpMnIj4+aXZ7qYqqHH18jzVu6k1CBvX3CSCl0TkcZxG4pS/PlX9w2dRGVNM7ZswgbPbt1NnxtuUqFIlzbbBb69gyebMH7Ox4SHMuXKTCJoCt+KMB5RcNaSeZWMMwJ138u9dy3n3/nbnfIij8+cT98mnVLnzTsqGhqasn71iJ09+tY7TCZnXzFpbgDkfbhJBH6C+zRFgTBb++osLj8Sd8+5nY2LYO+5xSjdvTtXh96ast7YAkxfcJILVQBCQd7NuGFOMaHw8ux98EESoMWUKEhAAZJ8ErCrI5BY3ieACYKOI/E7aNgLrPmpMLjj48sucXr2Gmi/+j8BaNbN9OKxMgB+P9mhiI4WaXOMmEWQ3E5kx5hwd//lnDr/5FkE33cTmy9ryf09+x5GT8ZmWt7YA4wt+2RdhJbBUVX8C9gIVgazHtS0mXn45Z71qn376aWbOnJmrMezYsYMvv/wyV4+ZfNxOnTpx1VVXMWHCBK9lIiMj6dKlC+Hh4YwaNQqAWbNm0bZtWzp27MjAgQM5c8a5ifzrr78ICwsjLCyMkSNH4kxBUYS0aMHO+pVztEvCoUPsGT2GwAYXM6VhN/pOXZ5lEpjQp6klAeMTbhLBEqCUiNQEFuFMJjPTl0EVFjlNBL7gq0QwZswYxo8fz88//8yPP/7Ixo0b02w/e/YsY8aM4dNPP2Xx4sU899xzALRv357ly5ezZMkS6tSpw/vvvw/AqFGjmDRpEhEREZw6dYoffvgh12POVy++mKORRzUpiT1jxpJw9CijL+3PJ+sPZ1l+WMf6VhVkfMZNIhBVPQncCLyiqn0A78+8FwBjx47l6quvJjQ0lK+//hpVpVevXkRERHDy5ElCQ0PZvn07ERERXHfddfTt25cWLVrw8ccfA7Br1y66d+9Op06d6N69OwcPHgRg7ty5XHnllYSHh/Pss88ye/Zsdu/eTVhYGM888wzx8fHccccdhIeH0759e377zZlkbcmSJbRo0YJevXqxevXqDPHu27ePjh07Eh4eTlhYGEePHiUuLo7+/ftzzTXX0KlTJ7Zs2QLA6NGjCQ8P54orrmD69OkAvPDCC3zzzTeEhYURGRnJQw89RGhoKOHh4cydO/ecf45RUVF06NABgO7du7NkyZI023/55RfKlSvHoEGD6NSpE0uXLgWgfv36+Hvm0Q0MDKRECaf28a+//iIkJASANm3asHjx4nOOrSg48s5MTixbxmuX9WBliSpey/gBtYJKMaFPU+sVZHxLVbN8AauAUOBXoIln3drs9vPVq1WrVpqZBQsW6F133aWqqidOnNBmzZppUlKSHjhwQENCQnTgwIE6Z84cVVVdvHixNmnSRM+ePatxcXHasGFDTUxM1AEDBugvv/yiqqrz5s3TBx98UA8dOqSXX365Hj9+XFVVExISVFX14osvTjn31KlTdeLEiaqqum/fPm3Xrp2qqrZq1Uqjo6M1KSlJr732Wn3nnXfSxPzpp5/q2LFjVVU1KSlJk5KSdPTo0frhhx+qqmpUVJT27dtXVTXl/KdPn9aGDRvq2bNndfHixTp06NCU4zVu3Fjj4+NVVTUxMTHNuU6ePKlXX311hteUKVMy/CwbNmyY8n7GjBk6YcKENNtnz56t9erV07i4OI2JidFGjRppUlJSyvb169dry5Yt9dSpU6qq2r9/f/3qq680KSlJ+/fvn/J7KjJuvlmXh9fXIQuGZFv05Jo1uvayJjo97Ca9aNRXetHorzO8bnhlaR4EbYoTYKVm8rnqprH4fmAs8Lk6M4zVBwrk17m1a9fy008/EeaZz/XMmTMcPnyYqlWr0qVLFz7//HM+/PDDlPItW7YkICCAgIAAqlWrxsGDB1m7di1jxowBICEhgQYNGrB161aaNWtG2bLOCJDJ33jTn3v58uUsXLgQgLg4p0/50aNHqVPHuaVv06ZNhv26d+/O6tWrueWWW6hduzbjx49PuY5p05w5fJK/VU+dOpV58+bh7+/PgQMHOHAgY4/eSZMmcfvtt+Pn58fDDz9Mkyb/3LyVLl2aiIgIVz9Lv1RDG8TFxVG5ctr678qVK9OuXTsqVKhAhQoVCA4O5uDBg1SrVo2YmBiGDBnCxx9/TKlSpQCYMmUKw4cP58UXX6RBgwbUqFHDVRyFRkwMlY6cyLZY4vHjRA79Dwkly/NSy5sg7YRPNnewyRduhqFegtNOkLy8DWdymgKnSZMmdOnShZdeeglw6rEDAwP5888/Wb58Ob169eLll1/mvvuc8KOiokhISODUqVPs37+f4OBgmjRpwtixY2nZsmXKMY4fP87atWs5deoUpUuXJikpCT8/P0qUKJHyvkmTJjRo0IAHHnggZT+A8uXLExMTQ61atfj9999p0KBBmpgTExMZP348AHfccQfffvstTZo0ITQ0lD59+qQcKzY2lhkzZrB27Vri4+Np1KgRqkpgYCAJCQmAc3fXuXNnevbsybJlyxg3bhyffvppyrlOnTpF165dM/zcevXqxciRI9Osa968OcuXL6ddu3YsWLCAF198Mc32tm3b8thjj6X8/A4cOECVKlU4dOgQffv2ZerUqVx88cUp5WvVqsXnn3+OqjJ48GBuvPHGHPxmi4bIHUdYPex+2hw7zKj2d3M8sEya7TZfgMkvrqaqLCy6devGL7/8QlhYGCJCrVq1mD59OnfeeSfvv/8+derUoUuXLil13zVq1OCmm25i+/btPP300/j7+zNlyhT+85//cPz4cQBuv/12brnlFh555BHCwsIoU6YM119/PaNHj6Zfv350796drl27cvfddzN8+HDCw8MBCAkJYfLkyUyZMoWePXtSo0YNypcvnyHmiIgIJkyYQIkSJShZsiTt27enY8eODBs2jFdeeQVVpUePHowcOZImTZrQvn17LrvsMqp4xqFp2rQpW7dupV+/fjz++OMMHz4cgNOnTzNu3Lg058rJHcHEiRMZOnQoZ8+epWvXrlx2mVNHffPNN/PBBx8QFBTE8OHDCQsLIz4+nmeffRZ/f3+eeOIJdu/enZJYbr31VoYOHcrs2bN58803ERFuvfVWLr/88hz+dgu3yOhYpo19mZE7VvLuZdezvkraKSetW6jJT6KFrBtfSEiIrly58ryPExERwfvvv89bb72VC1GZYi8sjI1HNvLsc1155/p30myKjI7l0Ze/ZsLCyWyqVIdHrrqLJHGq3soF+vPu0Lb2dLDxORGJVNUQb9uK1B2BMfkmNJSt2zLOWTx7xU4e/2QV/1s2kzP+AUxuNSglCQCWBEyBkGkiEJFXcEYZ9UpVC2Q7gVvJDzcZkysmTuSThfvSrJo0fwPTlmzjrnVfc3HcHh6/8nYOl64I2DhBpmDJ6o7g/OtfjCmmkgeMa7t3Hb23LWNe/Q78dmFjADo2DGbWUPcPnxnja5kmAlV9F0BEblLVj1NvE5GbfB2YMYVK3778Z38krz0anpIEqpyK44FVc9lSsSYzmnQHnJ5BlgRMQePmyeKxLtcZU3wdPky5o6fZuO8o86L24KdJjFr5AYGJCUxqfQvx/iXo2DDYuoeaAimrNoKuQDegpoikHlSnApDg68CMKWxOnEnkb8+gcQM2LaLZ4W1MuWIAu8tVtcljTIGWVRvBHpx2gl5AZKr1x4AHfBmUMYXNn7vjSBSnb0WTw9u5eeN3/FjrCn6oHcKEPk3tSWFToGXVRrAaWC0inwMnVDURQET8gZJ5FF/uctNLqEcPeOihf8oPGeK8Dh2Cfv2y3z99+QcfhJ49YdMmuOuu7PdPX37CBGjXDpYvh0ceyX7/9OXfeAMaNYKvvoIpU7LfP335Tz6B4GCYOdN5ZSd9+eQH2J5/Hr7+Ovv9U5f/5RdIfjJ67FhnOStVqqQtf/gweAbn48474a+/st7/kkvSlq9SBSZOdJb79nWO58WWA8eps+svNtYpTbnTiYxa+QH7y1bm1eY3Muzqiy0JmALPTRvBd0DpVMulgSI2hrAx5+bY6QQOHT9DXMly/HpJMPcs2k+l08d4ud1gHuvf2qqDTKGQ7ZPFIhKlqi2yW5dXcuvJYmNyQ7eXlrB+7zEAev/9LHdFHGROq96M/2BiPkdmTFpZPVns5o7ghIhckepgrYBTLk98vYhsEpEtIjImkzJhIhIlIutE5Cc3xzWmIJg0f0NKEqgbt5fblh7ij4vK0Ovph/I5MmNyxs0QEyOAj0Vkj2e5OjAgu508bQmvAdcCMcDvIvKlqq5PVSYIeB24XlV3iki1nIVvTP6YvWIn05ZsA6Bkwhle+fEFRBL5qF9dvqjnfaIZYwoqN8NQ/y4ilwKNAAE2qmrmE6v+ow2wxTNsNSIyB7gBWJ+qzCDgM1Xd6TlXxgH2jSlgIqNj+e+8tSnLd639En+U03qMyrUr5GNkxpwbN1VD4CSBxkBL4F8iMtjFPjWBXamWYzzrUrsEqCQiESISmdlxReROEVkpIiuTp440Jr88Nm8tyU1rHWOi6Bq9gjMJQsmAxPwNzJhzlG0iEJHHgVc8r3DgOZxnC7Ld1cu69C3TJYBWQHfgOuAxEbkkw06q01U1RFVDqlat6uLUxvjG4LdXpLQLXHDiMPdFfcKGShdRuUxZ/P28/ckbU/C5uSPoB1wD7FPV24DmuHuOIAaonWq5Fs5DaunLLFTVE6p6CGcmtOYujm1Mnps0fwNLNh8CwD8pkTErPwDg3U63cVGVsvkZmjHnxU0iOKWqSUCCiFQADgD1Xez3O9BQROqJSCAwEPgyXZkvgA4iUkJEygBtgQ3uwzcmb0RGx/KGp3EY4NYN33Jp7E5eatmPAb1CoUcPVrepncURjCm43PQaWunp3fMmzlATx4HfsttJVRNE5F7gW8AfmKGq60RkmGf7NFXdICILgTVAEvCWqv55bpdijO989kdMSr1miwN/cdPmxXxfry1d773VeXK47UMsXLguX2M05lxlmQhERICJqvo3MM3zoV1BVde4Obiqzgfmp1s3Ld3yZGByToI2Jq/9ER0LQMUzx3g48kNiylflqhcn0qpR9XyOzJjzl2XVkDqPHc9LtbzDbRIwpqiIjI5lw75jiCbxYOQcysWf4v0ud6ZNAmFhjB61IP+CNOY8uGkj+FVEWvs8EmMKqDd+2gpAny1LaH1gE9Mv70nXXh3yOSpjco+bNoJw4C4RiQZO4HQLVVVt5tPIjCkAIqNj+X79fhrG7mLI+gX8XP1ytoVex2s2oqgpQrKamKaeqm4HuuZhPMYUKG/8tJXS8acZs/J9YkuV58WW/elVt3J+h2VMrsrqjuATnIe9ZqjqNXkUjzEFRmR0LN+v28dDqz/jghNHGN3+bk4ElqHvFbXyOzRjclVWicDP81TxJSIyMv1GVX3Bd2EZk/8++yOGa3atpFPMH7x3aRfWBdfn2sYX0OqiShkL9+/Pb+vfy/sgjckFWTUWDwRO4ySL8l5exhRpRzZu5p7Vn7OmSn3mNOqMAMOuvth74XvuYXGPS/M0PmNyS1ZTVW4CnhWRNapq/eJMsRK5eT/d5r3OWf8STA4ZRJL4ZX43AHDyJIGnEzhbyk3/C2MKlmy7j1oSMMVR9MTnaBC3m/+1HMCh0kH4SRZ3AwDduvHAuO/zLkBjcpHbYaiNKTaOLV7MZcvnM69+e1ZUbwJAyEWVMr8bMKaQs0RgTCrx+/ezd+wj7K1amxlNeqSsDyoTmI9RGeNb2VZoikgAcDfQ0bPqJ2Cay1nKjCk0NDGRPQ+PIuH0Gca1upN4/3/+ewSXdzPyujGFk5s7gqk4zxO87nld4VlnTJFyePp0Tv72G/M6DCSm/D/TZwvYswOmSHPTxaG1qqaeLOZHEVntq4CKpAVjYN/a7MuZfHMy5jQHZ++hdKMydAr6lE7yWcq20gH+NP8xKOsDXBzLsgalnN/zO919G6zJfxc2ha6T8juKXOMmESSKyMWquhVAROoDNjmrKTISTyey+6sDBFQswelWpSEhIc32CyuWyv4g7WvxswT4KEJjfMtNIngYWCwi23Duki8CbvNpVEVNEfrmUNSoKnvvu5+Ek7s5/cI0bvzx7zQTa192YXkW3Ncx0/1THDpEuUXDOV6xFFz/js/iNcYX3DxHsAhoCNzneTVS1cW+DsyYvPD33Lkc+/57qj3wAJ+cqJAmCQC0dNtltF8//vOM/bcwhZPb7qOtgMtxJpYfICKDfReSMXnj9F9/sX/iJMq2b0/l24Zw8NiZNNutkdgUF266j74HXAxE8U/bgAKzfBeWMb6VdOoUu0eOxK98eWpMmoj4+fHX/mNpyrSuaw+RmeLBTRtBCNDYM22lMUXC/omTOLtlK7XffosSwcGMmLOKHYdPpinT4AIbW9EUD26qhv4ELvR1IMbklaMLF/L3Rx9R5f/uoNxVVxEZHcu8qD0Zylm1kCku3NwRBAPrReQ3IKUSVVV7+SwqY3zkbMxu9j42jlLNm1H1vvsAZ96B9Hq3qJGzaqG772ZxlD1naQonN4ngCV8HYUxe0Ph49jz0EKhSc8oUJMDp9785XdvARZXL8OLAljk7+IAB/FZxYW6FakyeymrOYlHHT9mV8U1oxuSug6++xqmoKGq+MIXAWk61T2R0LCujY9OUu6phcM4PvmsXlQ+e4EjVsrkRqjF5Kqs2gsUiMlxE6qReKSKBItJJRN4F/u3b8IzJHSd+/ZXD06dTsV9fKnTrlrL+sz9iSEr1VcZPzrFt4NZb+b/JS3IhUmPyXlZVQ9cDtwMfikg94G+gFOAPfAf8T1WjfB2gMecr4cgR9jw8isB69bjwkUfSbPsj3d2AzTtgiqOspqo8jWfEUc9Q1MHAKVX9O49iM+a8aVISe8aOJTEujtpvvYlfmTIp22av2MmGfWnbB6zLqCmOXE2w6pl7YK+PYzEm1x2ZNYsTPy3hgscepVSjRmm2zf19Z4by1mXUFEc2Q5kpsk79uY4DU16gXOdrqDRoUIbtJUuk/fO3J4lNcWWJwBRJicdPsPvBkZSoUoUaTz+NiKTZHhkdS+TOtO0DfVqex93Agw+y8MbLz31/Y/KRq6ohYwqb/U89SfyuGC6a9S7+QUEZtn/2RwyJSWnXxZ48e+4n7NmT1QGfZV/OmAIo2zsCEblRRDaLSJyIHBWRYyJy1M3BReR6EdkkIltEZEwW5VqLSKKI9MtJ8MZ4E/fFF8R98SXB99xDmZAQr2XSjzTq7ydcWb/KuZ900yYujIk79/2NyUduqoaeA3qpakVVraCq5VW1QnY7iYg/8BrQFWgM/EtEGmdS7lng25yFbkxGZ3fsYO/4JykTEkLw3cO8lomMjmXRxv1p1v1f+3rn1z5w1138++Xl576/MfnITSLYr6obzuHYbYAtqrpNVc8Cc4AbvJQbDnwKHDiHcxiTIunsWXaPfBC/gABqPD8Z8ff3Wu6Nn7ZmqBYqX9qmmTTFl5s2gpUiMheYR9pB57KrEK0J7Eq1HAO0TV1ARGoCfYBOQOvMDiQidwJ3AtSpUyezYqaYOzhlCqfXr6fWa68ScKH3AXMjo2P5fn3auwE/4fyqhYwp5NwkggrASaBLqnUKZJcIxMu69OMSvQiMVtXE9L060uykOh2YDhASEmJjG5kMjkVEcOTdWVS6+WbKX3NNpuU++yMmwx/hNZddYN1GTbGWbSJQ1XOdqD4GqJ1quRaQftD3EGCOJwkEA91EJEFV553jOU0xFL//AHvHPkLJSy+l2qiHsyzrbTrKYVdf7MPojCn43PQaqiUin4vIARHZLyKfioibDte/Aw1FpJ6IBAIDgS9TF1DVeqpaV1XrAp8A91gSMDmhiYnsGTWKpNOnqfnCFPxKlsyy/K4jaWchy7WHyB59lK/+1fz8j2NMPnDTWPwOzgd4DZx6/68867KkqgnAvTi9gTYAH6nqOhEZJiLeu3MYk0OH33yTkytWcOGj/6Vk/fpZlp00f4Pvxhbq3Jn1LWvkzrGMyWNu2giqqmrqD/6ZIjLCzcFVdT4wP926aZmUHeLmmMYkO/nHKg6+8ioVunen4o03Zlk2MjqWaUu2ZVifa2MLRUVRe+thdl1sjc6m8HFzR3BIRG4REX/P6xbgsK8DMyYriXFx7H7oQQJq1ODC8U9kGEIivWcXZOwBnatjC40YwaA3fsudYxmTx9wkgtuB/sA+nBFI+3nWGZMvVJW9j40j4cBBak55Hv9y5bIsHxkdy287YjOsH9P1Ml+FaEyh4qZq6IBNVG8KkqSjRzm7axfVHhhB6WbNsi3/xk9bM6wb1rG+dRk1xsNNIvhTRPYDS4ElwM+qaoOqmHzjX7EidefOQUpk/+fr7QGyyy4sz5hudjdgTLJsq4ZUtQHwL2At0ANYLSJRPo7LmCz5BQYiftnXbHp7gKyl3QkYk4ar5wiAq4AOQEtgHTDXx3EZkyvSz0ks+GgWsgkT+HRIq9w/rjF5wE3V0E6ch8MmqKr1/zeFhrc5iS+uWtY3bQPt2rHlaLXcP64xecBNr6GWwCxgkIj8IiKzRGSoj+My5rxERsfy33lrM6y/vX3WD52ds+XLabDeBtA1hZObNoLVwLs4TxP/CFwNPObjuIw5L88u2ICmaxyoGVSKQW19NHrtI4/Qd2akb45tjI9lWzUkIiuBksByYBnQUVWjfR2YMedq9oqdXp8b+E94w3yIxpiCz00bQVdVPejzSIzJJa8v3pxhXeu6lXx3N2BMIeemasiSgCk0RsxZRczfp9OsE+wpYmOy4qax2JhCYdL8DcyLSj/lBXRubBPPGJMVSwSmSJi9YqfX0UXzbOKZF19k9l1tfH8eY3zAzQNlN4lIec/7R0XkMxG5wvehGeNOZHQs//08Y1dRgGf6NM2bu4EWLWwIalNoubkjeExVj4lIe+A6nK6kU30bljHuPTZvbYZhJAAm9Gmadw3EP/xA41UZq6WMKQzcJIJEz7/dgamq+gUQ6LuQjHFv9oqdrN97LMP6YR3r520voaefpueHq/PufMbkIjeJYLeIvIEzJ8F8ESnpcj9jfO7FHzZlWGejixqTM24+0PvjzDt8var+DVQGHvZlUMa4MWLOKg4cO5th/dN9muZDNMYUXm4SwRuq+pmqbgZQ1b3Arb4Ny5iszV6x02tX0Ql51ThsTBHiJhE0Sb0gIv6Ajbdr8k1mvYR6t6hhTw8bcw4yTQQiMlZEjgHNROSo53UMOAB8kWcRGpPOsws2ZOglFFwukBcHtsyXeAB44w3eva9d/p3fmPOQaSJQ1YmqWh6YrKoVPK/yqlpFVcfmYYzGpMhsIvqR1zbKh2hSadSIfbUq5m8MxpyjbAedU9WxIlIJaAiUSrV+iS8DM8abz/6IybDusgvL53+V0Fdf0TxyF6uvrJ2/cRhzDtwMQ30HcD9QC4gCrgR+ATr5NDJjvEg/9SQUkF5CU6Zw/ZGNlghMoeSmsfh+oDUQrarhODOW2YikJs9Nmr8hw9ST19qAcsacNzeJ4LSqngYQkZKquhHI5wpZU9xERsfyhpdB5fJkQDljijg3E9PEiEgQMA/4XkRiARtUxeSpz/6IydBTqHXdSnY3YEwucNNY3Mfz9gkRWQxUBBb6NCpj0vl5y6EM62yyGWNyh5s7AjwjjzZU1XdEpCpQE9ju08iM8Rj89gp2HD6ZZl2DqmUL1t3Ae+/xZsSD+R2FMefEzXwEjwOjgeRnBwKA990cXESuF5FNIrJFRMZ42X6ziKzxvJaLSPOcBG+KvsFvr2DJ5ox3A7e3r58P0WShdm2OVC2b31EYc07cNBb3AXoBJwBUdQ9QPrudPENRvAZ0BRoD/xKRxumKbQeuVtVmwFPAdPehm6JuxJxVXpNAgXhuIL25c2nzk90km8LJTSI4q6oKTludiLj92tMG2KKq21T1LDAHuCF1AVVdrqrJHcN/xXlWwZhMB5UTCshzA+lNnUr4NxvzOwpjzombRPCRZz6CIBH5P+AH4E0X+9UEdqVajvGsy8xQYIG3DSJyp4isFJGVBw/aIwzFgbd5BoJKB/DJ3e0KVtuAMUWAm15Dz4vItcBRnOcHxqnq9y6OLd4O57WgSDhOImifSQzT8VQbhYSEeD2GKToym2fg7SGtLQkY4wNuhpgoC/yoqt+LSCOgkYgEqGp8NrvGAKmft6+Fl+cPRKQZ8BbQVVUPuw/dFEUj5qzyWiU0rGN9SwLG+IibqqElQEkRqYlTLXQbMNPFfr8DDUWknogEAgOBL1MXEJE6wGfArar6V04CN0VPZu0CNvWkMb7l5jkCUdWTIjIUeEVVnxORVdntpKoJInIvzjSX/sAMVV0nIsM826cB44AqwOsiApCgqiHnejGmcHvuW++NrQWycTi9Tz7htUXD8zsKY86Jq0QgIqHAzTj1+G73Q1XnA/PTrZuW6v0dwB3uQjVFWe9Xl/H3yYy1jYVm6sngYI5XLJV9OWMKILejj44FPvd8o68PLPZtWKY46f3qMqJi4jKsH9axfsF7XiAzM2dy1feb8zsKY86Jm15DS3DaCZKXtwH3+TIoU3wMfnuF1yTQsWFw4WoXmDmT9ke28PO1DfM7EmNyzM0dgTE+MWn+Bq9PDreoVZFZQ9vmQ0TGFE+WCEy+iIyOZZqX+QVa1KrIvHu9Pk5ijPERN4POBedFIKZ4efCjqAzrKpYuYUnAmHyQaSIQkZ4ichBYKyIxItIuD+MyRVjvV5dlGFYaYPT1hahNwJgiJKs7gmeADqpaHegLTMybkExRNmLOKq+Nw71b1Cg8PYS8mT+f/z15bX5HYcw5ySoRJHjmJ0ZVV+Bi6GljsjJp/gavTw53bBjMiwNb5kNEuahMGc6WcvV4jTEFTlZ/udVEZGRmy6r6gu/CMkVNZmMIXVi+ZNHoIfT664Sv38jiHpfmdyTG5FhWdwRv4twFJL/SLxvjSmZ3AgCv3dIqj6PxkY8+os0Sm5jGFE6Z3hGo6vi8DMQUTbNX7PTaTRRsRFFjCoosu4+KSFcRWSIih0TkoIj8JCLd8io4U7hNmr+BRz5f63XbsI71C9eTw8YUYZneEXhmI7sLGAWs9KwOASaJSC3PZDHGeJVZmwA4A8kV6h5CxhQxWTUWPwC0V9Ujqdb9KCJdgWXYRPPGi9krdvLswg3EnUrwur3QdxM1pgjKKhFIuiQAgKoe9swdYEyK7BIAFJFuopmJiOCL357F+gyZwiirRHBURJqr6urUK0WkOXDMt2GZwiIyOpaRc6OIPpLxSeHUikObwOg2o/M7BGPOSVaNxQ8CX4rIE57hJnqIyHjgC2BkFvuZYmLEnFX0nbrckkAmduzYQefOndOsa9CgAQAzZ86kXr16hIWF0bZtW4YNG0ZcXMYnrr15+eWXc6VMVqKiopg8eXKG9U8//TQzZ848r2N7ExERwZo1a3L9uAALFy4kNDSU0NBQvv32W6/nrl69OmFhYYSFhREZGQnAkSNH6NGjBx06dGD48OGoaso+8fHxNGzYkKefftonMee1TBOBqi4D2nrKDAFu97y/0rPNFGO9X12WaWNwsmrlA5nQp2mxTAJuDB06lIiICFasWEGjRo24//77Xe2XF4mgRYsWPPzww+d1jJzwVSJITExk1KhRLFiwgAULFvDwww+TmJiYoVz37t2JiIggIiKCVq2cZ1uee+45BgwYwNKlSzlx4kSaJPLGG29w6aVFpyIwy+6jqrpPVcepal9VvVFVH1PVfXkVnCl4IqNjufKZH7yOF5SsbpUyfHp3O37777XWMOzSAw88wNKlS0lKSkqz/qGHHiI0NJTw8HDmzp3LCy+8wO7duwkLC+Ptt99m8eLFhIeH06FDB2644QZOnz7N7NmzU8o888wzxMfHc8cddxAeHk779u357bffOHPmDKGhoQC88sorKe8nT57M7NmziYiI4I47nFlklyxZQosWLejVqxerV/9TU/zxxx/ToUMH2rdvz5NPPpnhmkJDQzl0yJlv4ueff2bIkCEAjB8/ntDQUNq2bcs333zDkSNHmDlzJs888wxhYWEkJiZme2y3Nm/eTL169QgKCiIoKIh69eqxdevWDOW+/fbblG/+p06dApzk1KNHDwB69uzJkiXO/FzHjx9nwYIF3HjjjeccV0GTVffRG4BaqvqaZ3kFUNWzebSqfpwH8ZkCwk1bQFCZAEZdd6l9+KcSGRlJWFiYq7JVq1bl0KFDVKtWLWXdggULWL16NSVKlCApKQk/Pz9ef/11IiIiADhx4gSLFzszx44ePZqPPvqIwYMHM27cuJQy06ZNo0GDBrz11lvs37+fG2+8kZ9//ply5cpx8OBBli5dStWqVYmLi2Px4sW8/fbbbNq0KSWGkSNH8uWXX1K7dm2uu+46AGJjY5kyZQpLly4lICCAPn36sHbtWpo2bZqy38CBA/nwww8ZPnw47733HoMHDyYqKoqlS5eyfPly4uLiaNOmDRs3bmTIkCE0aNCAW265xdWxf/nlF8aOHZvhZzhu3Dg6deqUsnzkyBEqVfrnocWgoCAOHz6cZp9WrVqxefNmSpUqxX//+1+ef/55HnvsMWJjYwkKCsqw3+TJkxkxYgS7d+929XstDLJqLB4FDEy1XBJoDZQF3gEsERRxkdGxTFqwgTW7/uZMomZZtri2A2SnVatW/PDDDynLyW0E3hw8eJDg4LTTf0yaNInbb78dPz8/Hn74YZo0aZJm+7p163j00Uc5c+YM+/fvp0KFChmOu3btWpYvX87ChQsBUtoiwsPDWbRoEadOnaJnz54sWrSIgwcPUr169TSJ4OjRo9Sp4yT3Nm3aALBlyxaio6O59lpnxNW///6b6OjoNB/WgwYNonfv3tx11138+uuvTJ06lY8++ogrr7wSESEoKIhq1aql3DUkc3Ps0NDQlESXlcqVK/P333+nLMfFxVG5cuU0ZcqX/2fEnJtvvjklwVSqVIm4uDiCgoJS9jtw4ACrVq1i/PjxPmkryS9ZJYJAVd2VanmZqh4GDotIWR/HZfJRZHQsj36+lg37su8cVr1CSV69uZUNFXGeXn75Za666ir8/P6prVVVOnfuTM+ePVm2bBnjxo3j008/TVPmmWeeSalqGTVqVEqDZuo7iCZNmtCgQQMeeOABAM6ePQtAp06duP/+++nSpQudOnXi5ptvpnXr1hliK1++PDExMdSqVYvff/+dBg0aUL9+fRo0aMAPP/yQcq7Ujang3OEEBwfz3HPP0b17d0SERo0a8eabb6KqxMXFceDAAYKDgwkMDCQhwel67ObYbu8IGjZsyPbt2zl69CgA27dvz5CM4+LiqFixIgA//vgjjRo1AuDqq69m/vz5DBo0iPnz53PjjTeyZs0aDh48yPXXX8/u3bs5c+YMzZs3p2fPnpn+bguDrBJBmv/ZqnpvqsWqmCJl9oqdvLZ4M/uOniYxKfvy4DwXUCRGDs0nb7/9Nj/88AOnTp2iWbNmGRp4ExIS6Nq1KwCnT59m3LhxgPNtuE+fPgwYMICBAwcydOhQGjVqRMWKFVPuCPr160f37t3p2rUrd999N8OHDyc8PByAkJAQJk+eTOvWrdm4cSOTJk2iQYMG7Nu3L82HaLIpU6bQs2dPatSokfLtuUqVKowYMYJOnTrh7+9PQEAAs2bN4sILL0yz7+DBgxk4cCB//vkn4DRCt2vXjtDQUJKSkpgyZQp+fn5ce+21jBgxgq+//pqPPvoo22O7vSPw9/dn4sSJKVVaEydOxN/fn3379jF58mSmTJnCBx98wIwZMyhTpgzBwcHMmDEDgFGjRjF48GCmTp1Ks2bN6NKlC35+fik9wWbOnElMTEyhTwLgPDTmfYPIB0CEqr6Zbv1dQJiq/isP4ssgJCREV65cmX1B44qbB8HSK1/Sn7HdGltbgDGFiIhEqmqIt23ZDTExT0QGAX941rXCaSvonasRmnwx+O0VLNl8KPuCgL9A9YqluCe8oSUAY4qYrIahPgC0E5FOQHIL1Teq+mOeRGZ8ZtL8Dby9bBvxLqqASgX4MSS0rjUEG1OEZTu3nueD3z78i4DZK3byzDfrOXE24wM1qfkJBJcLZETnRvbt35hiwCZZLQbcjgdUt0oZpvRvYT2AjClmLBEUUcm9gA4cO0N8Ns8AWOOvMcWbJYIiaPaKnZnODJZe7xY1iu7Q0MYYVywRFEFzf9+ZbZnG1cvzVO+mVg1kjPFtIhCR64GXAH/gLVWdlG67eLZ3A04CQ1T1jwwHMjlyNiHz7kD2JLAxJj2fJQIR8QdeA64FYoDfReRLVV2fqlhXoKHn1RaY6vk31yWPm7NudxxnEpNQdXrHiAhJqinLCnm6LbfPIUD6JgEBypcqwaA2dawbqDEmA1/eEbQBtqjqNgARmQPcAKROBDcAs9R5vPlXEQkSkeqqujc3A4mMjqX/tOUZPiCTFJyP0NTLeb0td8+RngCf3N3O7gCMMZnKcj6C81QTSD1oXYxnXU7LICJ3ishKEVl58ODBHAfy67bDGZJAcXFx1bKWBIwxWfJlIvA2w336j2M3ZVDV6aoaoqohVavmfLy7K+tXwd/bmYqB29vXz+8QjDEFnC8TQQxQO9VyLSD93IZuypy3VhdV4qNh7WhdtxJlAvzw93Pq1Uv4QYC/pFnO622+OEfJEn7UCirFhD5N7dkAY0y2fNlG8DvQUETqAbtxJrkZlK7Ml8C9nvaDtkBcbrcPJGt1USU+HtbOF4c2xphCzWeJQFUTRORe4Fuc7qMzVHWdiAzzbJ8GzMfpOroFp/vobb6KxxhjjHc+fY5AVefjfNinXjct1XsF/uPLGIwxxmTNl20ExhhjCgFLBMYYU8xZIjDGmGLOEoExxhRzmU5eX1CJyEEg+hx3DwbcTdJbdNg1Fw92zcXD+VzzRarq9YncQpcIzoeIrFTVkPyOIy/ZNRcPds3Fg6+u2aqGjDGmmLNEYIwxxVxxSwTT8zuAfGDXXDzYNRcPPrnmYtVGYIwxJqPidkdgjDEmHUsExhhTzBXJRCAi14vIJhHZIiJjvGwXEXnZs32NiFyRH3HmJhfXfLPnWteIyHIRaZ4fceam7K45VbnWIpIoIv3yMj5fcHPNIhImIlEisk5EfsrrGHObi7/tiiLylYis9lxzoR7FWERmiMgBEfkzk+25//mlqkXqhTPk9VagPhAIrAYapyvTDViAM0PalcCK/I47D665HVDJ875rcbjmVOV+xBkFt19+x50Hv+cgnHnB63iWq+V33HlwzY8Az3reVwWOAIH5Hft5XHNH4Argz0y25/rnV1G8I2gDbFHVbap6FpgD3JCuzA3ALHX8CgSJSPW8DjQXZXvNqrpcVWM9i7/izAZXmLn5PQMMBz4FDuRlcD7i5poHAZ+p6k4AVS3s1+3mmhUoLyIClMNJBAl5G2buUdUlONeQmVz//CqKiaAmsCvVcoxnXU7LFCY5vZ6hON8oCrNsr1lEagJ9gGkUDW5+z5cAlUQkQkQiRWRwnkXnG26u+VXgMpxpbtcC96tqUt6Ely9y/fPLpxPT5BNv09Sn7yPrpkxh4vp6RCQcJxG092lEvufmml8ERqtqovNlsdBzc80lgFbANUBp4BcR+VVV//J1cD7i5pqvA6KATsDFwPcislRVj/o4tvyS659fRTERxAC1Uy3XwvmmkNMyhYmr6xGRZsBbQFdVPZxHsfmKm2sOAeZ4kkAw0E1EElR1Xp5EmPvc/m0fUtUTwAkRWQI0BwprInBzzbcBk9SpQN8iItuBS4Hf8ibEPJfrn19FsWrod6ChiNQTkUBgIPBlujJfAoM9re9XAnGqujevA81F2V6ziNQBPgNuLcTfDlPL9ppVtZ6q1lXVusAnwD2FOAmAu7/tL4AOIlJCRMoAbYENeRxnbnJzzTtx7oAQkQuARsC2PI0yb+X651eRuyNQ1QQRuRf4FqfHwQxVXSciwzzbp+H0IOkGbAFO4nyjKLRcXvM4oArwuucbcoIW4pEbXV5zkeLmmlV1g4gsBNYAScBbquq1G2Jh4PL3/BQwU0TW4lSbjFbVQjs8tYh8CIQBwSISAzwOBIDvPr9siAljjCnmimLVkDHGmBywRGCMMcWcJQJjjCnmLBEYY0wxZ4nAGGOKOUsEJksiMsLTHz1Xyrk4zpMi0tnL+jAR+fp8j5/FeVuISDcfHXumiGz3jAi6UUQeT7XtLRFp7IvzpovhXs9olSoiwanWZzqSZWajfopIZRH5XkQ2e/6tlMk5G4rI1yKy1TPcxWIR6ZiuzBci8osvrtm4Z4nAZGcE4OYD3m25LKnqOFX94XyPcw5a4PTN9pWHVbWF5zz/FpF6AKp6h6qu9+F5k/0MdAai063vCjT0vO4EpgKIiD/wmmd7Y+BfqRLWGGCRqjYEFnmW0xCRUsA3wHRVvVhVW+EMAFg/VZkgnFE2g5J/HiZ/WCIwAIhIWRH5Rpwx3f8UkQEich9QA1gsIos95aaKyEpxxn0f71nnrVwXEflFRP4QkY9FpJyItBGRzzzbbxCRUyISKCKlRGSbZ/1M8cwb4PlGulFElgE3pot1hoj8LiKrRCTDqKMiMjf1N3zPcft6zvWOiKz17BvueWL1SWCA51v7ADfnSHe+uiKyQUTe9PxsvhOR0l6KlvL8e8KzX4SIhHjeHxeRZzy/g1/FeUoWEbnJ8ztZLc6QETmmqqtUdYeXTZmNZJnVqJ83AO963r8L9PZy3JuBX1Q15SlgVf1TVWemKtMX+Mpz7IHncl0ml/hyXG17FZ4Xzn/KN1MtV/T8uwMITrW+sudffyACaJa+HM64PkuAsp7l0ThPNpcAtnvWPY8zfMBVwNXAh571M4F+OB+Yu3C+qQrwEfC1p8wE4BbP+yCccXTKpruePsC7nveBnmOVBh4E3vGsvxRneIJSwBDg1VT7Z3uOdOerizP0cQvP8kep9p8JbMcZGO04MCHVfhFAiOe9Aj09758DHvW8XwvUTI7Fy7nLe47t7ZV+7P70v8+vgfaplhfhjNHUD+ep5OT1tyb/fIC/0x0z1ktML+CMAprV39wPQAecEVPX5Pf/geL8sjsCk2wt0FlEnhWRDqoal0m5/iLyB7AKaIJTbZDelZ71P4tIFPBv4CJVTcAZFOwynG+cL+BMwtEBWJruGJfiJI3N6nxqvJ9qWxdgjOfYETgf5HXS7b8A6CQiJXGqN5ao6imcUVffA1DVjThVJZd4uQY350hvu6pGed5H4iSHZMlVQxcC14hIOy/7n8X5YE6//884Qyj8H04CTkNVj6lqi0xe2VU7ZTaSZa6OcCkin3vuapLvCC8AGgDL1Bn7KkFELj/X45vzU+TGGjLnRlX/EpFWOPXkE0XkO1V9MnUZTz3uQ0BrVY0VkZn8U9WRpijwvar+y8u2pTgfzPE43whn4ny4PeQtrEzCFaCvqm7K4npOi0gEzhDFA4APU+3rRrbn8OJMqveJOHcg6eM67omrPbA83eZ4T9JL3r+EZ59hItIW6A5EiUgLTTV6rIiUJ2MiTTYom2SQ2UiWgZmsB9gvItVVda+nGsnb5DfrcJI8nmvo46kCe96zagBQCdguzthXFXCqhx7NIlbjI3ZHYAAQkRrASVV9H+c/a3LvkWM4VQ/g/Gc9AcR5vtF1TXWI1OV+Ba4SkQaeY5cRkeRv3UtwGpZ/UdWDOAPhXYrzwZHaRqCeiFzsWU6dVL4FhovnE0REWmZyWXNwBuTq4Nkn+fw3e/a7BOdb/qZ08Wd6DhGpKSKLMjlftkSkBM6IoFtzsM/FqrpCVccBh0j7AX2+dwSZjWSZ1aifX+Lc5eH59wtPnKl/NrNx/gZ6pTpX6s4E/wKu139Gh22FtRPkG0sEJllT4DdPVch/gac966cDC0RksaquxqkSWgfMwKmywEu5gzh17h+KyBqcxHCpp9wK4AKcD2RwRslck+qbMOB8o8fpxfKNp7E4dW+Xp3BGY1wjzgTfT2VyTd/hfCv9QZ0GT4DXAX9xRqqcCwxR1TPAYqBxcmNxFueozrlNgzjZ87Ndg1MN91kO913riWMJzry9OSIi94kzkmUtnGt6y7NpPs6QzVuAN4F7wBn1E0ge9XMD8JGqJifrScC1IrIZuNazDKl+Np5quB7AMBHZJk4X0UeBp0WkLk4C/jU5PlXdDhz13PmYPGajjxqTA+IMibxTU/WGMQ772RRelgiMMaaYs6ohY4wp5iwRGGNMMWeJwBhjijlLBMYYU8xZIjDGmGLOEoExxhRz/w+/acnDol3SbQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#continuing with votes-to-seats, let's compute the S(V) curve with no fractional-seat smearing\n",
    "cumVote = [0.]*nBins\n",
    "for b in range(nBins) :\n",
    "    cumVote[nBins-b-1] = np.sum(binWeight[:(b+1)])  #cumulative weight of all Home Districts below vote b*dV\n",
    "    # print(\"bin, bin vote, cumVote for this bin\",b,b*dV,cumVote[b] )\n",
    "    \n",
    "cumSeats = [0.]*nBins  #this will sum the seats earned for a given statewide vote\n",
    "stateVoteBin = int( (stateGOP+0.5*dV)*nBins )   #which bin (out of 1/dV) holds the statewide total vote?\n",
    "for b in range(nBins) :\n",
    "    bb = int( max(0,min(nBins-1,nBins/2 + b-stateVoteBin)) )\n",
    "    cumSeats[b] = 1. - cumVote[bb]\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "plt.plot(binVote, cumSeats, marker='.',linestyle=\"none\")\n",
    "ax.set(xlabel=\"statewide vote, nBins =\"+str(nBins)+\",\"+str(STATE), ylabel=\"GOP seats won (no fractl smearing)\")\n",
    "RANGE = [0.1, 0.9]\n",
    "fifty50 = [0.5, 0.5]\n",
    "expected = [stateGOP, stateGOP]\n",
    "plt.plot(RANGE,fifty50)\n",
    "plt.plot(fifty50,RANGE)\n",
    "plt.plot(expected,RANGE, linestyle=\"--\",color='red')\n",
    "\n",
    "#LET'S ALSO crudely ESTIMATE RESPONSIVENESS near the STATEWIDE VOTE, with a pseudonormal weighting and lst-sq fit\n",
    "stateSigma = 0.03  #User-adjustable, this is the uncertainty in the statewide vote from election to election\n",
    "usedBins = int(stateSigma/dV)\n",
    "nFitPoints = 6*usedBins\n",
    "voteData = [0.]*nFitPoints\n",
    "seatData = [0.]*nFitPoints\n",
    "counter = 0\n",
    "for b in range(nBins):\n",
    "    if ( abs(b-stateVoteBin) <= 2*usedBins ):  #include this S-V pair in our line fit\n",
    "        voteData[counter]=binVote[b]\n",
    "        seatData[counter]=cumSeats[b]\n",
    "        counter += 1\n",
    "        # print(b,counter)\n",
    "        if ( abs(b-stateVoteBin) < usedBins) : #double count this in data set\n",
    "            voteData[counter]=binVote[b]\n",
    "            seatData[counter]=cumSeats[b]\n",
    "            counter +=1\n",
    "fit = np.polyfit(voteData,seatData,1)  #first-order linear regression with old polyfit\n",
    "Rsimple = fit[0]     #slope is fit[0] in y = mx + b, intercept is fit[1]\n",
    "y0 = fit[1]\n",
    "Rx = [stateGOP - 4.*stateSigma, stateGOP + 4.*stateSigma]\n",
    "Ry = [y0 + Rx[0]*Rsimple, y0 + Rx[1]*Rsimple]\n",
    "plt.plot(Rx,Ry ) \n",
    "ax.text(Rx[1]+0.02, Ry[1]+0.02, \"R = \"+str(round(Rsimple,4)), transform=ax.transAxes, fontsize=14,color='purple')\n",
    "expectedSeats = cumSeats[stateVoteBin]\n",
    "ax.text(0.02,expectedSeats+0.03,\"expected seats = \"+str(round(expectedSeats,3)),transform=ax.transAxes,fontsize=9)\n",
    "ax.text(stateGOP+0.01,0.1,\"HD statewide vote = \"+str(round(stateGOP2,3)),transform=ax.transAxes,fontsize=9)\n",
    "Ex = [0,stateGOP ]\n",
    "Ey = [expectedSeats, expectedSeats]\n",
    "plt.plot(Ex,Ey, linestyle='-.',color='red')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "id": "ce47266f-e2ea-4649-b10c-e8225994c122",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEHCAYAAAC5u6FsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAABfZUlEQVR4nO2deXxU1dn4v89MEjYBI6IgYVUWDWANkaWKigKK8krFuuFuFTfe1vqztdVXpLhUq7XWpVKKuFRxBZVStIjiRmULKoRNkDWCLDGEPcnMnN8fd8mdmzszd5KZLOR8Px80c+ece8+duXOec55VlFJoNBqNRuOXQF0PQKPRaDQNCy04NBqNRpMUWnBoNBqNJim04NBoNBpNUmjBodFoNJqk0IJDo9FoNEmRkc6Ti8h5wF+BIDBFKfWI630x3z8fOABcp5RaGq+viPwEmAQ0BULAbUqpRfHGcfTRR6suXbqk7sY0Go2mEVBQULBLKdXWfTxtgkNEgsCzwDCgCFgsIjOVUisdzUYA3c1/A4DngAEJ+v4J+INS6n0ROd98fVa8sXTp0oUlS5ak9P40Go3mcEdENnkdT6eqqj+wTim1XilVDrwOjHK1GQW8rAwWAEeKSPsEfRXQyvy7NbA1jfeg0Wg0GhfpVFV1ALY4Xhdh7CoStemQoO8dwH9E5HEMwffT1A1Zo9FoNIlI545DPI6585vEahOv763Ar5VSHYFfA897XlxkrIgsEZElO3fu9DlkjUaj0SQinTuOIqCj43UOVdVKsdpkxel7LfAr8++3gCleF1dKTQYmA+Tn51dJyFVRUUFRURGHDh3ycy+aek7Tpk3JyckhMzOzroei0Rz2pFNwLAa6i0hX4HvgcmCMq81MYJyIvI6hiipVSm0TkZ1x+m4FzgQ+Ac4G1lZncEVFRbRs2ZIuXbpgOHdpGipKKYqLiykqKqJr1651PRyN5rAnbYJDKRUSkXHAfzBcaqcqpVaIyC3m+5OA2RiuuOsw3HGvj9fXPPVNwF9FJAM4BIytzvgOHTqkhcZhgojQpk0btEpSo6kd0hrHoZSajSEcnMcmOf5WwO1++5rHvwD6pWJ8WmgcPujvEgo2lbBgfTEDu7WhX+fsuh6O5jAmrYJDo9HUDgWbSrhyygLKQxGyMgK8euNALTw0aUOnHNGklOuuu4633367rofR6FiwvpjyUISIgopQhAXri+t6SJrDGC04NAkJh8N1PQRNAgZ2a0NWRoCgQGZGgIHd2tT1kDSHMVpwJEHBphKenbeOgk0lKTnfxo0b6d27t/368ccfZ8KECZx11lncfffd9O/fnx49evD5558DsGLFCvr3789PfvIT+vbty9q1a9m4cSO9evXixhtvpHfv3lx55ZXMnTuX0047je7du7NokZHGa//+/dxwww2ceuqpnHLKKbz33nv2GAYPHkxeXh55eXn897//BeCTTz5hyJAhjBkzhj59+hAOh/nNb37DqaeeSt++ffn73/8OGB5N48aN46STTuKCCy5gx44dKflsNMnRr3M2r944kDuH99RqKk3a0TYOn9S2DjkUCrFo0SJmz57NH/7wB+bOncukSZP41a9+xZVXXkl5eTnhcJjt27ezbt063nrrLSZPnsypp57KtGnT+OKLL5g5cyYPP/ww7777Lg899BBnn302U6dOZffu3fTv35+hQ4dyzDHH8OGHH9K0aVPWrl3LFVdcYef1WrRoEYWFhXTt2pXJkyfTunVrFi9eTFlZGaeddhrDhw/nq6++Ys2aNSxfvpzt27dz0kknccMNN6Ttc9HEpl/nbC0wNLWCFhw+8dIhp/NHOnr0aAD69evHxo0bARg0aBAPPfQQRUVFjB49mu7duwPQtWtX+vTpA0Bubi7nnHMOIkKfPn3svnPmzGHmzJk8/vjjgOGOvHnzZo477jjGjRvH119/TTAY5Ntvv7XH0L9/fzsuYs6cOSxbtsy2X5SWlrJ27Vo+++wzrrjiCoLBIMcddxxnn3122j4TjUZTP9CCwyeWDrkiFEmZDjkjI4NIJGK/dkaxN2nSBIBgMEgoFAJgzJgxDBgwgH//+9+ce+65TJkyhW7dutltAQKBgP06EAjYfZVSTJ8+nZ49e0aNYcKECRx77LF88803RCIRmjZtar/XokUL+2+lFE8//TTnnntuVP/Zs2drV1iNppGhbRw+SYcO+dhjj2XHjh0UFxdTVlbGrFmz4rZfv3493bp145e//CUXXnghy5Yt832tc889l6effhojdAa++uorwNg5tG/fnkAgwD//+c+YhvBzzz2X5557joqKCgC+/fZb9u/fzxlnnMHrr79OOBxm27ZtzJs3z/eYNBpNw0TvOJIg1TrkzMxMxo8fz4ABA+jatSu9evWK2/6NN97glVdeITMzk3bt2jF+/Hj27Nnj61r33Xcfd9xxB3379kUpRZcuXZg1axa33XYbF198MW+99RZDhgyJ2mU4ufHGG9m4cSN5eXkopWjbti3vvvsuF110ER9//DF9+vShR48enHnmmUl/DhqNpmEh1gr0cCY/P1+5CzmtWrWKE088sY5GpEkH+jvVaFKLiBQopfLdx7WqSqPRaDRJoQWHRqPRaJJCCw6NRtNoSHUQb2NFG8c1Gk2jQCeCTB16x6HRaBoFOhFk6tCCQ6PRNAp0IsjUoVVVmpi8+OKLLFmyhGeeeaauh6LR1BgriFcXu6o5ad1xiMh5IrJGRNaJyO883hcRecp8f5mI5CXqKyJviMjX5r+NIvJ1Ou/BZtmb8JfeMOFI4//L3qyVy6YDnSZd01jp1zmb24ecoIVGDUmb4BCRIPAsMAI4CbhCRE5yNRsBdDf/jQWeS9RXKXWZUuonSqmfANOBGem6B5tlb8K/fgmlWwBl/P9fv6yx8Ni/fz8XXHABJ598Mr179+aNN96gS5cu3HPPPQwaNIj8/HyWLl3Kueeey/HHH8+kSXbVXR577DE7xfn9999vH//Zz35Gv379yM3NZfLkyfbxI444wo5S//LLL3nllVfsFO0333yzLUxeeOEFOwJ8/vz5Nbo/jUZzeJLOHUd/YJ1Sar1Sqhx4HRjlajMKeFkZLACOFJH2fvqKkVnvUuC1NN6DwUcToeJg9LGKg8bxGvDBBx9w3HHH8c0331BYWMh5550HQMeOHfnyyy8ZPHiwXVFvwYIFjB8/HjAy1a5du5ZFixbx9ddfU1BQwGeffQbA1KlTKSgoYMmSJTz11FMUFxsGwP3799O7d28WLlxImzZteOONN5g/f76dFffVV19l27Zt3H///cyfP58PP/yQlStX1uj+NBrN4Uk6bRwdgC2O10XAAB9tOvjsOxjYrpRa63VxERmLsYuhU6dOyY49mtKi5I77pE+fPtx1113cfffdjBw5ksGDBwNw4YUX2u/v27ePli1b0rJlS5o2bcru3buZM2cOc+bM4ZRTTgFg3759rF27ljPOOIOnnnqKd955B4AtW7awdu1a2rRpQzAY5OKLLwbgo48+oqCggFNPPRWAgwcPcswxx7Bw4ULOOuss2rZtC8Bll10WlWZdo9FoIL2CwyvXtjsxVqw2fvpeQZzdhlJqMjAZjFxVsYfpg9Y5pprK43gN6NGjBwUFBcyePZvf//73DB8+HCAqLbo7ZXooFEIpxe9//3tuvvnmqPN98sknzJ07ly+//JLmzZtz1lln2anamzZtSjAYBIwU6ddeey1//OMfo/q/++67OkW6RqNJSDpVVUVAR8frHGCrzzZx+4pIBjAaeCOF443NOeMhs1n0scxmxvEasHXrVpo3b85VV13FXXfdxdKlS331O/fcc5k6dSr79u0D4Pvvv2fHjh2UlpaSnZ1N8+bNWb16NQsWLPC+nXPO4e2337bLvP74449s2rSJAQMG8Mknn1BcXExFRQVvvfVWje5Po9EcnqRzx7EY6C4iXYHvgcuBMa42M4FxIvI6hiqqVCm1TUR2Jug7FFitlKqZrsgvfS81/v/RREM91TrHEBrW8WqyfPlyfvOb3xAIBMjMzOS5557j5z//ecJ+w4cPZ9WqVQwaNAgwDN+vvPIK5513HpMmTaJv37707NmTgQMHevY/6aSTePDBBxk+fDiRSITMzEyeffZZBg4cyIQJExg0aBDt27cnLy9Pe2BpNJoqpDWtuoicDzwJBIGpSqmHROQWAKXUJNPA/QxwHnAAuF4ptSRWX8d5XwQWKKUq3YzioNOqNw70d6rRpJZYadXTGgColJoNzHYdm+T4WwG3++3reO+61I1So9FoNMmgU45oNBqNJim04NBoNBpNUmjBodFoNJqk0IJDo9FoNEmhBYdGo9FokkILjnrGk08+yYEDB1LWLhHjx49n7ty5VY5/8sknjBw5MqlzvfTSS3Tv3p3u3bvz0ksvxW379ttvIyI43aTvvvtuevfubSd8tPj444/Jy8ujd+/eXHvttYRCoaTGpdFoUoxS6rD/169fP+Vm5cqVVY7VBzp37qx27tyZsnbVZd68eeqCCy7w3b64uFh17dpVFRcXqx9//FF17dpV/fjjj55t9+zZowYPHqwGDBigFi9erJRSatasWWro0KGqoqJC7du3T/Xr10+VlpaqcDiscnJy1Jo1a5RSSt13331qypQpnuetr9+pRtNQAZYojzlV7zjqCK+U6k899RRbt25lyJAhDBkyBIBbb72V/Px8cnNz7fTpXu3mzJnDoEGDyMvL45JLLmHfvn0sWrSI0aNHA/Dee+/RrFkzysvLOXToEN26dQOws++Cka23V69enH766cyYMSNqrDfccAOnnnoqp5xyCu+9916V+/nPf/7DsGHDOOqoo8jOzmbYsGF88MEHnvd+33338dvf/pamTZvax1auXMmZZ55JRkYGLVq04OSTT+aDDz6guLiYJk2a0KNHDwCGDRvG9OnTa/TZazSamqErAAKPLnqU1T+uTuk5ex3Vi7v73x3zfSul+r///W8ASktLad26NU888QTz5s3j6KOPBuChhx7iqKOOIhwOc84557Bs2TJ++ctfRrXbtWsXDz74IHPnzqVFixY8+uijPPHEE9xzzz189dVXAHz++ef07t2bxYsXEwqFGDAgOtnwoUOHuOmmm/j444854YQTuOyyy+z3HnroIc4++2ymTp3K7t276d+/P0OHDqVFixZ2m++//56OHSvTi+Xk5PD9999Xue+vvvqKLVu2MHLkSB5//HH7+Mknn8wf/vAH7rzzTg4cOMC8efM46aSTOProo6moqGDJkiXk5+fz9ttvs2WLR8JJjUZTa2jBUUfESqnu5s0332Ty5MmEQiG2bdvGypUr6du3b1SbBQsWsHLlSk477TQAysvLGTRoEBkZGZxwwgmsWrWKRYsWceedd/LZZ58RDoerXG/16tV07dqV7t27A3DVVVfZhaDmzJnDzJkz7Yn+0KFDbN68OSq9h/JIXePOtBuJRPj1r3/Niy++WKXt8OHDWbx4MT/96U9p27atPX4R4fXXX+fXv/41ZWVlDB8+nIwM/djGo2BTiS6Pqkkr+hcIcXcG6cIrpbpVqMliw4YNPP744yxevJjs7Gyuu+46O026E6UUw4YN47XXqmaZHzx4MO+//z6ZmZkMHTqU6667jnA4HLXat4iVUl0pxfTp0+nZs2fM+8nJyeGTTz6xXxcVFXHWWWdFtdm7dy+FhYX28R9++IELL7yQmTNnkp+fz7333su9994LwJgxY2whNmjQID7//HPAEGK6RkhsCjaVcOWUBZSHImRlBHj1xoFaeGhSjrZx1BGxUqq3bNmSvXv3ArBnzx5atGhB69at2b59O++//77d39lu4MCBzJ8/n3Xr1gFw4MABe3I944wzePLJJxk0aBBt27aluLiY1atXk5ubGzWeXr16sWHDBr777juAKCF07rnn8vTTT9u7Ckv95eTcc89lzpw5lJSUUFJSwpw5czj33HOj2rRu3Zpdu3axceNGNm7cyMCBA22hEQ6H7WqFy5YtY9myZXZ9Eiv9e1lZGY8++ii33HJL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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#3/6/22 - alternate votes-to-seats with fractional seat smearing.\n",
    "# First, compute the general cdf sliver for -3 sigma to +3 sigma\n",
    "# Then, apply this smearing to the binVote weights\n",
    "seatVar = 0.04\n",
    "nBins = 1000\n",
    "nSigma = 6.  #how many total sigma of deviation we are explicitly modeling; the rest go into the tails\n",
    "nSlivers = 2*int(3*nBins*seatVar)  #budget for 3 sigma on either side of the expected vote\n",
    "sliverWt = [0.]*nSlivers  #each sliver holds the cdf reflecting the relative distance from the mean vote\n",
    "sliverSigma = [0.]*nSlivers\n",
    "totalSliverWt = 0.\n",
    "for nS in range(nSlivers):\n",
    "    dSigmaHigh = nSigma* (nS+0.5 - nSlivers/2) / float(nSlivers)\n",
    "    dSigmaLow =  nSigma* (nS-0.5 - nSlivers/2) / float(nSlivers)\n",
    "    sliverSigma[nS] = 0.5*(dSigmaHigh+dSigmaLow)  #for plotting; keeps track of this sliver's center sigma\n",
    "    sliverWt[nS] = norm.cdf(dSigmaHigh) - norm.cdf(dSigmaLow)\n",
    "    totalSliverWt += sliverWt[nS]\n",
    "lowSliverWt = 0.5 * (1. - totalSliverWt)\n",
    "highSliverWt = lowSliverWt\n",
    "#print(\"each tail of distribution has weight\",round(lowSliverWt,4) )\n",
    "#plt.plot(sliverSigma,sliverWt)\n",
    "#plt.show()\n",
    "# OK, that worked as expected.  Now, do the smearing of each bin\n",
    "smearedBinWeight = [0.]*nBins\n",
    "for b in range(nBins):\n",
    "    centerBinNo = b #int(HDvGOP[t]*nBins)   #which vote bin does this tract's vote go into for the expected statewide vote?\n",
    "    binOffset = int(nSlivers/2)\n",
    "    for nS in range(nSlivers):\n",
    "        binNo = centerBinNo + nS - binOffset\n",
    "        if (binNo < 0): #deep blue district; variance would push vote %R < 0\n",
    "            binNo = 0\n",
    "        if (binNo >= nBins):  #deep red district; variance would push vote %R > 1\n",
    "            binNo = nBins - 1\n",
    "        smearedBinWeight[binNo] += binWeight[b]*sliverWt[nS]\n",
    "    # Now put the tails into the correct bins\n",
    "    binNo = centerBinNo -1 - binOffset  #left tail\n",
    "    if binNo < 0:\n",
    "        binNo = 0\n",
    "    smearedBinWeight[binNo] += binWeight[b]*lowSliverWt\n",
    "    binNo = centerBinNo + nSlivers - binOffset  #right tail\n",
    "    if binNo >= nBins:\n",
    "        binNo = nBins -1 \n",
    "    smearedBinWeight[binNo] += binWeight[b]*highSliverWt\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "plt.plot(binVote, binWeight, marker='.',linestyle=\"none\",label=\"unsmeared\")\n",
    "plt.plot(binVote, smearedBinWeight, marker='o',linestyle=\"none\",label=\"smeared\")\n",
    "RANGE = [0.0, 0.5*np.max(binWeight)]\n",
    "sGOP = [stateGOP, stateGOP]\n",
    "plt.plot(sGOP,RANGE,linestyle=\"-\",label=\"statewide \"+str(round(stateGOP,3)) )\n",
    "ax.set(xlabel=\"district pct GOP\", ylabel=\"bin weight\")\n",
    "plt.legend()\n",
    "plt.show()   #this should resemble above histogram"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "id": "8a2d7de3-ea93-4447-bb69-36defbae38df",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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rpifiymEuXMp8/vvBe+X5M58ch5Dpy7lpdRRTE8bTjvPj0GVQANrAAEc0BQW5jTmwv3DuTL7TgQY0zeD9Y+ca0mgCLEWQRR4vV6uu+465syZQ3p6Om3atKFHjx40bdo0aL8dO3YwZMgQPvzwQ2rXrs0ff/wBQGpqKk888QQtW7bkr7/+olWrVpx55pk0bdqUgQMHMnr0aE477TRefvllHn/8cR566KFEnGZUWOnr5NT/ha/4e93XPOSZQsu0/MtAA2RrCrNyOlgfQJKwFkEULFq0iPr161OvXj3S0tLo168fM2fOzLXf5MmT6dWrF7Vr1wagevXqANSoUYOWLVsCUKFCBZo0acLGjRsBWLVqFaeeeioAZ555pr+q6YQJE+jVqxdnn302DRo0YNiwYf7XeeONN2jevDknnHACt99+e9iY77jjDpo2bUqLFi249dZbARgwYADXXnstnTt3pl69enz22WdcddVVNGnShAEDBvif+7///Y8OHTrQsmVL+vTpw+7duwGnimqbNm044YQTGDRoEL6bFTt16sRdd93FaaedFtTaMUWfryJox/VjeStMCwCCWwD71cNz2efRYP9r3JJ9nbUAkkSx/GrWqVPudRddBEOGwN690K1b7u0DBjg/W7fChRcGb5s3L//X27hxI7Vq1fIvp6ens3Dhwlz7rV69mgMHDtCpUyf++usvbrrpJi6/PHikyfr168nMzKRdu3YAnHDCCcyaNYuePXsybdq0oDpES5cuJTMzk9KlS9OoUSNuuOEGPB4Pt99+O0uWLKFy5cp07dqVGTNmcP755/uft337dt555x1+/PFHRIQdO3b4t/3555988sknzJo1i+7duzN//nxefPFF2rRpw9KlS0lPT2fEiBF8/PHHlC9fnkcffZQnn3yS++67j+uvv5777rsPgMsuu4z33nvPXzF1x44dfPbZZ/m/kabICCwHMTd1XFAZaJ9wReBsGGhyKpaJIN7ClemQ0MIpOJdFlixZwty5c/n777/p0KED7du3p2FDZz7V3bt307t3b8aMGcORRx4JwMsvv8yNN97Igw8+SI8ePUhLS/Mfr0uXLlSsWBGApk2b8ssvv7Bt2zY6depEtWrVAOjfvz+ff/55UCI48sgjKVOmDAMHDuTcc8/lvPPO82/r3r07IkLz5s05+uijad7c+Y/crFkz1q9fT1ZWFt9/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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#continuing with votes-to-seats, let's compute the S(V) curve with no fractional-seat smearing\n",
    "smearedBinVote = [0.]*nBins  #this will store the statewide vote for this bin\n",
    "cumSmearedVote = [0.]*nBins\n",
    "for b in range(nBins) :\n",
    "    smearedBinVote[b] = b*dV\n",
    "    cumSmearedVote[nBins-b-1] = np.sum(smearedBinWeight[:(b+1)])  #cumulative weight of all Home Districts below vote b*dV\n",
    "    # print(\"bin, bin vote, cumVote for this bin\",b,b*dV,cumVote[b] )\n",
    "    \n",
    "cumSmearedSeats = [0.]*nBins  #this will sum the seats earned for a given statewide vote\n",
    "stateVoteBin = int( (stateGOP+0.5*dV)*nBins )   #which bin (out of 1/dV) holds the statewide total vote?\n",
    "for b in range(nBins) :\n",
    "    bb = int( max(0,min(nBins-1,nBins/2 + b-stateVoteBin)) )\n",
    "    cumSmearedSeats[b] = 1. - cumSmearedVote[bb]\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "plt.plot(smearedBinVote,cumSmearedSeats, marker='o',linestyle=\"none\",label=str(seatVar)+\" smear\")\n",
    "plt.plot(binVote, cumSeats, marker='.',linestyle=\"none\",label=\"no smear\")\n",
    "ax.set(xlabel=\"true \"+STATE+\"-wide vote=\"+str(round(stateGOP,4))+\", nBins =\"+str(nBins), ylabel=\"GOP seats won\")\n",
    "RANGE = [0.1, 0.9]\n",
    "fifty50 = [0.5, 0.5]\n",
    "expected = [stateGOP, stateGOP]\n",
    "expectedSeats = cumSeats[stateVoteBin]\n",
    "expectedS = [expectedSeats,expectedSeats]\n",
    "smearedSeats = cumSmearedSeats[stateVoteBin]\n",
    "smearedS = [smearedSeats,smearedSeats]\n",
    "plt.plot(RANGE,fifty50)\n",
    "plt.plot(fifty50,RANGE)\n",
    "plt.plot(RANGE,smearedS, linestyle=\"--\",color='blue',label=str(round(expectedSeats,3))+\"no smear\")\n",
    "plt.plot(RANGE,expectedS, linestyle=\"--\",color='orange',label=str(round(smearedSeats,3))+\"smeared\")\n",
    "plt.plot(expected,RANGE, linestyle=\"--\",color='red')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "id": "597b7758-4f83-40f7-8909-4946e64267ad",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "simpler and fractional-seat-smeared (var of 0.04 ) responsiveness are 2.109 2.208\n",
      "fractional expected GOP seats =  8.446  out of  14 seats for GA\n",
      "simpler expected GOP seats =  8.8019  out of  14 seats\n"
     ]
    }
   ],
   "source": [
    "#Finally, let's compare responsiveness using smeared (fractional seat variance) to non-smeared calculated above\n",
    "#LET'S ALSO crudely ESTIMATE (smeared) RESPONSIVENESS near the STATEWIDE VOTE, as we did for non-smeared\n",
    "stateSigma = 0.03  #User-adjustable, this is the uncertainty in the statewide vote from election to election\n",
    "usedBins = int(stateSigma/dV)\n",
    "nFitPoints = 6*usedBins\n",
    "voteData = [0.]*nFitPoints\n",
    "seatData = [0.]*nFitPoints\n",
    "counter = 0\n",
    "for b in range(nBins):\n",
    "    if ( abs(b-stateVoteBin) <= 2*usedBins ):  #include this S-V pair in our line fit\n",
    "        voteData[counter]=smearedBinVote[b]\n",
    "        seatData[counter]=cumSmearedSeats[b]\n",
    "        counter += 1\n",
    "        # print(b,counter)\n",
    "        if ( abs(b-stateVoteBin) < usedBins) : #double count this in data set\n",
    "            voteData[counter]=smearedBinVote[b]\n",
    "            seatData[counter]=cumSmearedSeats[b]\n",
    "            counter +=1\n",
    "fit = np.polyfit(voteData,seatData,1)  #first-order linear regression with old polyfit\n",
    "Rsmeared = fit[0]     #slope is fit[0] in y = mx + b, intercept is fit[1]\n",
    "y0 = fit[1]\n",
    "\n",
    "print(\"simpler and fractional-seat-smeared (var of\",seatVar,\") responsiveness are\",round(Rsimple,3) ,round(Rsmeared,3) )   \n",
    "print(\"fractional expected GOP seats = \",round(nDistricts*smearedSeats,3),\" out of \",nDistricts,\"seats for\",STATE)\n",
    "print(\"simpler expected GOP seats = \",round(nDistricts*expectedSeats,4),\" out of \",nDistricts,\"seats\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "86f82727-7193-4194-aa61-2b99408dbcb6",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
